Commit 0e3c4369 authored by Tachibana's avatar Tachibana

ndyd

parent a796d14c
--Flea --Flea
function c81004004.initial_effect(c) local m=81004004
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,81004004+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c81004004.target) e1:SetTarget(cm.target)
e1:SetOperation(c81004004.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c81004004.dfilter(c) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.dfilter(c)
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsLevelAbove(1) and c:IsAbleToGrave() return c:IsAttack(1550) and c:IsDefense(1050) and c:IsLevelAbove(1) and c:IsAbleToGrave()
end end
function c81004004.filter(c,e,tp,m,ft) function cm.filter(c,e,tp,m,ft)
if not c:IsType(TYPE_PENDULUM) or bit.band(c:GetType(),0x81)~=0x81 if not c:IsType(TYPE_PENDULUM) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c) local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
local dg=Duel.GetMatchingGroup(c81004004.dfilter,tp,LOCATION_DECK,0,nil) local dg=Duel.GetMatchingGroup(cm.dfilter,tp,LOCATION_DECK,0,nil)
if ft>0 then if ft>0 then
return mg:CheckWithSumEqual(Card.GetRitualLevel,c:GetLevel(),1,99,c) return mg:CheckWithSumEqual(Card.GetRitualLevel,c:GetLevel(),1,99,c)
or dg:IsExists(c81004004.dlvfilter,1,nil,tp,mg,c) or dg:IsExists(cm.dlvfilter,1,nil,tp,mg,c)
else else
return ft>-1 and mg:IsExists(c81004004.mfilterf,1,nil,tp,mg,dg,c) return ft>-1 and mg:IsExists(cm.mfilterf,1,nil,tp,mg,dg,c)
end end
end end
function c81004004.mfilterf(c,tp,mg,dg,rc) function cm.mfilterf(c,tp,mg,dg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c) Duel.SetSelectedCard(c)
return mg:CheckWithSumEqual(Card.GetRitualLevel,rc:GetLevel(),0,99,rc) return mg:CheckWithSumEqual(Card.GetRitualLevel,rc:GetLevel(),0,99,rc)
or dg:IsExists(c81004004.dlvfilter,1,nil,tp,mg,rc,c) or dg:IsExists(cm.dlvfilter,1,nil,tp,mg,rc,c)
else return false end else return false end
end end
function c81004004.dlvfilter(c,tp,mg,rc,mc) function cm.dlvfilter(c,tp,mg,rc,mc)
Duel.SetSelectedCard(Group.FromCards(c,mc)) Duel.SetSelectedCard(Group.FromCards(c,mc))
return mg:CheckWithSumEqual(Card.GetRitualLevel,rc:GetLevel(),0,99,rc) return mg:CheckWithSumEqual(Card.GetRitualLevel,rc:GetLevel(),0,99,rc)
end end
function c81004004.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return Duel.IsExistingMatchingCard(c81004004.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp,mg,ft) return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp,mg,ft)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
function c81004004.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local m=Duel.GetRitualMaterial(tp) local m=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c81004004.filter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp,m,ft) local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp,m,ft)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
local mat,dmat local mat,dmat
local mg=m:Filter(Card.IsCanBeRitualMaterial,tc,tc) local mg=m:Filter(Card.IsCanBeRitualMaterial,tc,tc)
local dg=Duel.GetMatchingGroup(c81004004.dfilter,tp,LOCATION_DECK,0,nil) local dg=Duel.GetMatchingGroup(cm.dfilter,tp,LOCATION_DECK,0,nil)
if ft>0 then if ft>0 then
local b1=dg:IsExists(c81004004.dlvfilter,1,nil,tp,mg,tc) local b1=dg:IsExists(cm.dlvfilter,1,nil,tp,mg,tc)
local b2=mg:CheckWithSumEqual(Card.GetRitualLevel,tc:GetLevel(),1,99,tc) local b2=mg:CheckWithSumEqual(Card.GetRitualLevel,tc:GetLevel(),1,99,tc)
if b1 and (not b2 or Duel.SelectYesNo(tp,aux.Stringid(81004004,0))) then if b1 and (not b2 or Duel.SelectYesNo(tp,aux.Stringid(m,0))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
dmat=dg:FilterSelect(tp,c81004004.dlvfilter,1,1,nil,tp,mg,tc) dmat=dg:FilterSelect(tp,cm.dlvfilter,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(dmat) Duel.SetSelectedCard(dmat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:SelectWithSumEqual(tp,Card.GetRitualLevel,tc:GetLevel(),0,99,tc) mat=mg:SelectWithSumEqual(tp,Card.GetRitualLevel,tc:GetLevel(),0,99,tc)
...@@ -70,13 +78,13 @@ function c81004004.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,13 +78,13 @@ function c81004004.activate(e,tp,eg,ep,ev,re,r,rp)
end end
else else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c81004004.mfilterf,1,1,nil,tp,mg,dg,tc) mat=mg:FilterSelect(tp,cm.mfilterf,1,1,nil,tp,mg,dg,tc)
local b1=dg:IsExists(c81004004.dlvfilter,1,nil,tp,mg,tc,mat:GetFirst()) local b1=dg:IsExists(cm.dlvfilter,1,nil,tp,mg,tc,mat:GetFirst())
Duel.SetSelectedCard(mat) Duel.SetSelectedCard(mat)
local b2=mg:CheckWithSumEqual(Card.GetRitualLevel,tc:GetLevel(),0,99,tc) local b2=mg:CheckWithSumEqual(Card.GetRitualLevel,tc:GetLevel(),0,99,tc)
if b1 and (not b2 or Duel.SelectYesNo(tp,aux.Stringid(81004004,0))) then if b1 and (not b2 or Duel.SelectYesNo(tp,aux.Stringid(m,0))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
dmat=dg:FilterSelect(tp,c81004004.dlvfilter,1,1,nil,tp,mg,tc,mat:GetFirst()) dmat=dg:FilterSelect(tp,cm.dlvfilter,1,1,nil,tp,mg,tc,mat:GetFirst())
mat:Merge(dmat) mat:Merge(dmat)
Duel.SetSelectedCard(mat) Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
......
--魔法之音 --魔法之音
function c81011107.initial_effect(c) local m=81011107
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate --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(c81011107.target) e1:SetTarget(cm.target)
e1:SetOperation(c81011107.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--token --token
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,81011107) e2:SetCountLimit(1,m)
e2:SetCondition(aux.exccon) e2:SetCondition(aux.exccon)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c81011107.sptg) e2:SetTarget(cm.sptg)
e2:SetOperation(c81011107.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c81011107.cfilter(c,e,tp,m) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cfilter(c,e,tp,m)
if bit.band(c:GetType(),0x81)~=0x81 or not c:IsType(TYPE_PENDULUM) if bit.band(c:GetType(),0x81)~=0x81 or not c:IsType(TYPE_PENDULUM)
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c) local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c) return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c)
end end
function c81011107.mfilter(c) function cm.mfilter(c)
return c:IsAttack(1550) return c:IsAttack(1550)
end end
function c81011107.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg1=Duel.GetRitualMaterial(tp):Filter(c81011107.mfilter,nil) local mg1=Duel.GetRitualMaterial(tp):Filter(cm.mfilter,nil)
return Duel.IsExistingMatchingCard(c81011107.cfilter,tp,LOCATION_HAND,0,1,nil,e,tp,mg1) return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND,0,1,nil,e,tp,mg1)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c81011107.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local mg1=Duel.GetRitualMaterial(tp):Filter(c81011107.mfilter,nil) local mg1=Duel.GetRitualMaterial(tp):Filter(cm.mfilter,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c81011107.cfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg1) local tg=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg1)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
local mg=mg1:Filter(Card.IsCanBeRitualMaterial,tc,tc) local mg=mg1:Filter(Card.IsCanBeRitualMaterial,tc,tc)
...@@ -51,14 +59,14 @@ function c81011107.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,14 +59,14 @@ function c81011107.activate(e,tp,eg,ep,ev,re,r,rp)
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
function c81011107.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133) if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsPlayerCanSpecialSummonMonster(tp,81011108,0,0x4011,1550,1050,4,RACE_FAIRY,ATTRIBUTE_LIGHT) end and Duel.IsPlayerCanSpecialSummonMonster(tp,81011108,0,0x4011,1550,1050,4,RACE_FAIRY,ATTRIBUTE_LIGHT) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,2,tp,0) Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,2,tp,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,0)
end end
function c81011107.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then return end
if not Duel.IsPlayerCanSpecialSummonMonster(tp,81011108,0,0x4011,1550,1050,4,RACE_FAIRY,ATTRIBUTE_LIGHT) then return end if not Duel.IsPlayerCanSpecialSummonMonster(tp,81011108,0,0x4011,1550,1050,4,RACE_FAIRY,ATTRIBUTE_LIGHT) then return end
...@@ -72,10 +80,10 @@ function c81011107.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,10 +80,10 @@ function c81011107.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetTarget(c81011107.splimit) e1:SetTarget(cm.splimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c81011107.splimit(e,c) function cm.splimit(e,c)
return not ((c:IsAttack(1550) and c:IsDefense(1050)) or (c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM))) return not ((c:IsAttack(1550) and c:IsDefense(1050)) or (c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)))
end end
...@@ -22,6 +22,11 @@ function cm.initial_effect(c) ...@@ -22,6 +22,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter(c) function cm.filter(c)
return c:IsAttack(1550) and c:IsDefense(1050) and (c:IsAbleToHand() or c:IsAbleToGrave()) return c:IsAttack(1550) and c:IsDefense(1050) and (c:IsAbleToHand() or c:IsAbleToGrave())
end end
......
...@@ -24,6 +24,11 @@ function cm.initial_effect(c) ...@@ -24,6 +24,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.thop) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter(c) function cm.filter(c)
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsType(TYPE_PENDULUM) return c:IsAttack(1550) and c:IsDefense(1050) and c:IsType(TYPE_PENDULUM)
end end
......
...@@ -29,6 +29,11 @@ function cm.initial_effect(c) ...@@ -29,6 +29,11 @@ function cm.initial_effect(c)
e4:SetOperation(cm.activate2) e4:SetOperation(cm.activate2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsAttack(1550) and c:IsDefense(1050) return c:IsAttack(1550) and c:IsDefense(1050)
and not c:IsStatus(STATUS_BATTLE_DESTROYED) and not c:IsStatus(STATUS_BATTLE_DESTROYED)
......
--Girls Festa --Girls Festa
function c81012075.initial_effect(c) local m=81012075
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,81012075+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c81012075.target) e1:SetTarget(cm.target)
e1:SetOperation(c81012075.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c81012075.filter(c,e,tp,m) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter(c,e,tp,m)
if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81 if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
if c.mat_filter then if c.mat_filter then
...@@ -18,22 +26,22 @@ function c81012075.filter(c,e,tp,m) ...@@ -18,22 +26,22 @@ function c81012075.filter(c,e,tp,m)
end end
return m:CheckWithSumEqual(Card.GetRitualLevel,c:GetLevel(),1,99,c) return m:CheckWithSumEqual(Card.GetRitualLevel,c:GetLevel(),1,99,c)
end end
function c81012075.matfilter(c) function cm.matfilter(c)
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsAbleToGrave() return c:IsAttack(1550) and c:IsDefense(1050) and c:IsAbleToGrave()
end end
function c81012075.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end
local mg=Duel.GetMatchingGroup(c81012075.matfilter,tp,LOCATION_DECK,0,nil) local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_DECK,0,nil)
return Duel.IsExistingMatchingCard(c81012075.filter,tp,LOCATION_HAND,0,1,nil,e,tp,mg) return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil,e,tp,mg)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c81012075.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local mg=Duel.GetMatchingGroup(c81012075.matfilter,tp,LOCATION_DECK,0,nil) local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_DECK,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c81012075.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg) local tg=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg)
if tg:GetCount()>0 then if tg:GetCount()>0 then
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc.mat_filter then if tc.mat_filter then
......
...@@ -22,6 +22,11 @@ function cm.initial_effect(c) ...@@ -22,6 +22,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.damop) e2:SetOperation(cm.damop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
......
...@@ -23,6 +23,11 @@ function cm.initial_effect(c) ...@@ -23,6 +23,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.recop) e2:SetOperation(cm.recop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and Duel.GetAttacker():IsControler(1-tp) return ep==tp and Duel.GetAttacker():IsControler(1-tp)
end end
......
...@@ -27,6 +27,11 @@ function cm.initial_effect(c) ...@@ -27,6 +27,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.recop) e2:SetOperation(cm.recop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsFaceup() and c:IsAttack(1550) and c:IsDefense(1050) return c:IsFaceup() and c:IsAttack(1550) and c:IsDefense(1050)
end end
......
...@@ -23,6 +23,11 @@ function cm.initial_effect(c) ...@@ -23,6 +23,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.damop) e2:SetOperation(cm.damop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsFaceup() and c:IsAttack(1550) and c:IsDefense(1050) return c:IsFaceup() and c:IsAttack(1550) and c:IsDefense(1050)
end end
......
...@@ -24,6 +24,11 @@ function cm.initial_effect(c) ...@@ -24,6 +24,11 @@ function cm.initial_effect(c)
e4:SetOperation(cm.drop) e4:SetOperation(cm.drop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.tfilter(c,e,tp) function cm.tfilter(c,e,tp)
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsCanBeSpecialSummoned(e,0x8,tp,false,false) return c:IsAttack(1550) and c:IsDefense(1050) and c:IsCanBeSpecialSummoned(e,0x8,tp,false,false)
and not Duel.IsExistingMatchingCard(cm.bfilter,tp,LOCATION_ONFIELD,0,1,nil,c) and not Duel.IsExistingMatchingCard(cm.bfilter,tp,LOCATION_ONFIELD,0,1,nil,c)
......
...@@ -21,6 +21,11 @@ function cm.initial_effect(c) ...@@ -21,6 +21,11 @@ function cm.initial_effect(c)
e1:SetOperation(cm.repop) e1:SetOperation(cm.repop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget() local d=Duel.GetAttackTarget()
......
...@@ -27,6 +27,11 @@ function cm.initial_effect(c) ...@@ -27,6 +27,11 @@ function cm.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter) Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.counterfilter(c) function cm.counterfilter(c)
return c:GetAttack()==1550 and c:GetDefense()==1050 return c:GetAttack()==1550 and c:GetDefense()==1050
end end
......
...@@ -22,6 +22,11 @@ function cm.initial_effect(c) ...@@ -22,6 +22,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.skipop) e2:SetOperation(cm.skipop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsFaceup() and c:IsAttack(1550) and c:IsDefense(1050) return c:IsFaceup() and c:IsAttack(1550) and c:IsDefense(1050)
end end
......
...@@ -38,6 +38,11 @@ function cm.initial_effect(c) ...@@ -38,6 +38,11 @@ function cm.initial_effect(c)
e3:SetCode(EFFECT_MUST_ATTACK) e3:SetCode(EFFECT_MUST_ATTACK)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsAttack(1550) and c:IsDefense(1050) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
......
...@@ -27,6 +27,11 @@ function cm.initial_effect(c) ...@@ -27,6 +27,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.setop) e2:SetOperation(cm.setop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsFaceup() and c:IsAttack(1550) and c:IsDefense(1050) return c:IsFaceup() and c:IsAttack(1550) and c:IsDefense(1050)
end end
......
...@@ -26,6 +26,11 @@ function cm.initial_effect(c) ...@@ -26,6 +26,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.thop) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
if not (ep==1-tp and Duel.IsChainDisablable(ev)) then return false end if not (ep==1-tp and Duel.IsChainDisablable(ev)) then return false end
if re:IsHasCategory(CATEGORY_NEGATE) if re:IsHasCategory(CATEGORY_NEGATE)
......
...@@ -21,6 +21,11 @@ function cm.initial_effect(c) ...@@ -21,6 +21,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.tdop) e2:SetOperation(cm.tdop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter1(c,e,tp) function cm.filter1(c,e,tp)
local lv=c:GetLevel() local lv=c:GetLevel()
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsType(TYPE_SYNCHRO) return c:IsAttack(1550) and c:IsDefense(1050) and c:IsType(TYPE_SYNCHRO)
......
...@@ -24,6 +24,11 @@ function cm.initial_effect(c) ...@@ -24,6 +24,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.thop) e2:SetOperation(cm.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsFaceup() and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsAttack(1550) and c:IsDefense(1050) and c:IsFaceup() and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
......
...@@ -25,6 +25,11 @@ function cm.initial_effect(c) ...@@ -25,6 +25,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.drop) e2:SetOperation(cm.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter1(c,e,tp) function cm.filter1(c,e,tp)
return c:IsSetCard(0x381f) and c:IsType(TYPE_TUNER) and c:IsAbleToRemove() return c:IsSetCard(0x381f) and c:IsType(TYPE_TUNER) and c:IsAbleToRemove()
and Duel.IsExistingTarget(cm.filter2,tp,LOCATION_GRAVE,0,1,c,e,tp,c:GetLevel()) and Duel.IsExistingTarget(cm.filter2,tp,LOCATION_GRAVE,0,1,c,e,tp,c:GetLevel())
......
...@@ -24,6 +24,11 @@ function cm.initial_effect(c) ...@@ -24,6 +24,11 @@ function cm.initial_effect(c)
e3:SetOperation(cm.repop) e3:SetOperation(cm.repop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.efilter(c) function cm.efilter(c)
return c:IsFaceup() and c:IsSetCard(0x381f) return c:IsFaceup() and c:IsSetCard(0x381f)
end end
......
...@@ -23,6 +23,11 @@ function cm.initial_effect(c) ...@@ -23,6 +23,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.atkop) e2:SetOperation(cm.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter(c) function cm.filter(c)
return c:IsSetCard(0x381f) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x381f) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
......
--想要传达给你的爱恋 --想要传达给你的爱恋
function c81041005.initial_effect(c) local m=81041005
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate --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(c81041005.qtarget) e1:SetTarget(cm.qtarget)
e1:SetOperation(c81041005.qactivate) e1:SetOperation(cm.qactivate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--grave --grave
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -15,39 +18,44 @@ function c81041005.initial_effect(c) ...@@ -15,39 +18,44 @@ function c81041005.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCondition(aux.exccon) e2:SetCondition(aux.exccon)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c81041005.target) e2:SetTarget(cm.target)
e2:SetOperation(c81041005.operation) e2:SetOperation(cm.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c81041005.qfilter(c,e,tp,m,ft) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.qfilter(c,e,tp,m,ft)
if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81 if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c) local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
if ft>0 then if ft>0 then
return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c) return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c)
else else
return mg:IsExists(c81041005.qfilterF,1,nil,tp,mg,c) return mg:IsExists(cm.qfilterF,1,nil,tp,mg,c)
end end
end end
function c81041005.qfilterF(c,tp,mg,rc) function cm.qfilterF(c,tp,mg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c) Duel.SetSelectedCard(c)
return mg:CheckWithSumGreater(Card.GetRitualLevel,rc:GetLevel(),rc) return mg:CheckWithSumGreater(Card.GetRitualLevel,rc:GetLevel(),rc)
else return false end else return false end
end end
function c81041005.qtarget(e,tp,eg,ep,ev,re,r,rp,chk) function cm.qtarget(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.IsExistingMatchingCard(c81041005.qfilter,tp,LOCATION_HAND,0,1,nil,e,tp,mg,ft) return ft>-1 and Duel.IsExistingMatchingCard(cm.qfilter,tp,LOCATION_HAND,0,1,nil,e,tp,mg,ft)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c81041005.qactivate(e,tp,eg,ep,ev,re,r,rp) function cm.qactivate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c81041005.qfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg,ft) local tg=Duel.SelectMatchingCard(tp,cm.qfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg,ft)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
...@@ -57,7 +65,7 @@ function c81041005.qactivate(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,7 +65,7 @@ function c81041005.qactivate(e,tp,eg,ep,ev,re,r,rp)
mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc) mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc)
else else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c81041005.qfilterF,1,1,nil,tp,mg,tc) mat=mg:FilterSelect(tp,cm.qfilterF,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(mat) Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc) local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc)
...@@ -67,20 +75,20 @@ function c81041005.qactivate(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,20 +75,20 @@ function c81041005.qactivate(e,tp,eg,ep,ev,re,r,rp)
Duel.ReleaseRitualMaterial(mat) Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81041005,0)) Duel.Hint(HINT_MUSIC,0,aux.Stringid(m,0))
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
function c81041005.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsLevelAbove(1) return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsLevelAbove(1)
end end
function c81041005.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c81041005.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and cm.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c81041005.filter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c81041005.filter,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c81041005.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) then
......
--随风而逝的回忆 --随风而逝的回忆
function c81041007.initial_effect(c) local m=81041007
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate --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:SetCountLimit(1,81041007+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c81041007.cost) e1:SetCost(cm.cost)
e1:SetTarget(c81041007.target) e1:SetTarget(cm.target)
e1:SetOperation(c81041007.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c81041007.cost(e,tp,eg,ep,ev,re,r,rp,chk) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SUMMON)==0 and Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SUMMON)==0 and Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
...@@ -23,73 +31,73 @@ function c81041007.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -23,73 +31,73 @@ function c81041007.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetLabelObject(e) e2:SetLabelObject(e)
e2:SetTarget(c81041007.splimit) e2:SetTarget(cm.splimit)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c81041007.splimit(e,c,sump,sumtype,sumpos,targetp,se) function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return se~=e:GetLabelObject() return se~=e:GetLabelObject()
end end
function c81041007.spfilter(c,e,tp,mc) function cm.spfilter(c,e,tp,mc)
return (c:IsAttack(1550) and c:IsDefense(1050) and c:IsType(TYPE_PENDULUM)) and bit.band(c:GetType(),0x81)==0x81 and (not c.mat_filter or c.mat_filter(mc,tp)) return (c:IsAttack(1550) and c:IsDefense(1050) and c:IsType(TYPE_PENDULUM)) and bit.band(c:GetType(),0x81)==0x81 and (not c.mat_filter or c.mat_filter(mc,tp))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true)
and mc:IsCanBeRitualMaterial(c) and mc:IsCanBeRitualMaterial(c)
end end
function c81041007.rfilter(c,mc) function cm.rfilter(c,mc)
local mlv=mc:GetRitualLevel(c) local mlv=mc:GetRitualLevel(c)
if mlv==mc:GetLevel() then return false end if mlv==mc:GetLevel() then return false end
local lv=c:GetLevel() local lv=c:GetLevel()
return lv==bit.band(mlv,0xffff) or lv==bit.rshift(mlv,16) return lv==bit.band(mlv,0xffff) or lv==bit.rshift(mlv,16)
end end
function c81041007.filter(c,e,tp) function cm.filter(c,e,tp)
local sg=Duel.GetMatchingGroup(c81041007.spfilter,tp,LOCATION_HAND,0,c,e,tp,c) local sg=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_HAND,0,c,e,tp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if c:IsLocation(LOCATION_MZONE) then ft=ft+1 end if c:IsLocation(LOCATION_MZONE) then ft=ft+1 end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
return sg:IsExists(c81041007.rfilter,1,nil,c) or sg:CheckWithSumEqual(Card.GetLevel,c:GetLevel(),1,ft) return sg:IsExists(cm.rfilter,1,nil,c) or sg:CheckWithSumEqual(Card.GetLevel,c:GetLevel(),1,ft)
end end
function c81041007.mfilter(c) function cm.mfilter(c)
return c:GetLevel()>0 and c:IsAbleToGrave() return c:GetLevel()>0 and c:IsAbleToGrave()
end end
function c81041007.mzfilter(c,tp) function cm.mzfilter(c,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsControler(tp) and c:GetSequence()<5 return c:IsLocation(LOCATION_MZONE) and c:IsControler(tp) and c:GetSequence()<5
end end
function c81041007.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<0 then return false end if ft<0 then return false end
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
if ft>0 then if ft>0 then
local mg2=Duel.GetMatchingGroup(c81041007.mfilter,tp,LOCATION_EXTRA,0,nil) local mg2=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_EXTRA,0,nil)
mg:Merge(mg2) mg:Merge(mg2)
else else
mg=mg:Filter(c81041007.mzfilter,nil,tp) mg=mg:Filter(cm.mzfilter,nil,tp)
end end
return mg:IsExists(c81041007.filter,1,nil,e,tp) return mg:IsExists(cm.filter,1,nil,e,tp)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c81041007.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<0 then return end if ft<0 then return end
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
if ft>0 then if ft>0 then
local mg2=Duel.GetMatchingGroup(c81041007.mfilter,tp,LOCATION_EXTRA,0,nil) local mg2=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_EXTRA,0,nil)
mg:Merge(mg2) mg:Merge(mg2)
else else
mg=mg:Filter(Card.IsLocation,nil,LOCATION_MZONE) mg=mg:Filter(Card.IsLocation,nil,LOCATION_MZONE)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat=mg:FilterSelect(tp,c81041007.filter,1,1,nil,e,tp) local mat=mg:FilterSelect(tp,cm.filter,1,1,nil,e,tp)
local mc=mat:GetFirst() local mc=mat:GetFirst()
if not mc then return end if not mc then return end
local sg=Duel.GetMatchingGroup(c81041007.spfilter,tp,LOCATION_HAND,0,mc,e,tp,mc) local sg=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_HAND,0,mc,e,tp,mc)
if mc:IsLocation(LOCATION_MZONE) then ft=ft+1 end if mc:IsLocation(LOCATION_MZONE) then ft=ft+1 end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
local b1=sg:IsExists(c81041007.rfilter,1,nil,mc) local b1=sg:IsExists(cm.rfilter,1,nil,mc)
local b2=sg:CheckWithSumEqual(Card.GetLevel,mc:GetLevel(),1,ft) local b2=sg:CheckWithSumEqual(Card.GetLevel,mc:GetLevel(),1,ft)
if b1 and (not b2 or Duel.SelectYesNo(tp,aux.Stringid(81041007,0))) then if b1 and (not b2 or Duel.SelectYesNo(tp,aux.Stringid(m,0))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:FilterSelect(tp,c81041007.rfilter,1,1,nil,mc) local tg=sg:FilterSelect(tp,cm.rfilter,1,1,nil,mc)
local tc=tg:GetFirst() local tc=tg:GetFirst()
tc:SetMaterial(mat) tc:SetMaterial(mat)
if not mc:IsLocation(LOCATION_EXTRA) then if not mc:IsLocation(LOCATION_EXTRA) then
......
--那一片真实的天空 --那一片真实的天空
function c81041016.initial_effect(c) local m=81041016
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,81041005) aux.AddCodeList(c,81041005)
--Activate --Activate
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON) e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_ACTIVATE) e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN) e0:SetCode(EVENT_FREE_CHAIN)
e0:SetTarget(c81041016.qtarget) e0:SetTarget(cm.qtarget)
e0:SetOperation(c81041016.qactivate) e0:SetOperation(cm.qactivate)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,81041016) e1:SetCountLimit(1,m)
e1:SetCondition(aux.exccon) e1:SetCondition(aux.exccon)
e1:SetCost(aux.bfgcost) e1:SetCost(aux.bfgcost)
e1:SetTarget(c81041016.sptg) e1:SetTarget(cm.sptg)
e1:SetOperation(c81041016.spop) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--change name --change name
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -29,35 +32,40 @@ function c81041016.initial_effect(c) ...@@ -29,35 +32,40 @@ function c81041016.initial_effect(c)
e2:SetValue(81041005) e2:SetValue(81041005)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c81041016.qfilter(c,e,tp,m,ft) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.qfilter(c,e,tp,m,ft)
if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81 if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c) local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
if ft>0 then if ft>0 then
return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c) return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c)
else else
return mg:IsExists(c81041016.qfilterF,1,nil,tp,mg,c) return mg:IsExists(cm.qfilterF,1,nil,tp,mg,c)
end end
end end
function c81041016.qfilterF(c,tp,mg,rc) function cm.qfilterF(c,tp,mg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c) Duel.SetSelectedCard(c)
return mg:CheckWithSumGreater(Card.GetRitualLevel,rc:GetLevel(),rc) return mg:CheckWithSumGreater(Card.GetRitualLevel,rc:GetLevel(),rc)
else return false end else return false end
end end
function c81041016.qtarget(e,tp,eg,ep,ev,re,r,rp,chk) function cm.qtarget(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.IsExistingMatchingCard(c81041016.qfilter,tp,LOCATION_HAND,0,1,nil,e,tp,mg,ft) return ft>-1 and Duel.IsExistingMatchingCard(cm.qfilter,tp,LOCATION_HAND,0,1,nil,e,tp,mg,ft)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c81041016.qactivate(e,tp,eg,ep,ev,re,r,rp) function cm.qactivate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c81041016.qfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg,ft) local tg=Duel.SelectMatchingCard(tp,cm.qfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg,ft)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
...@@ -67,7 +75,7 @@ function c81041016.qactivate(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,7 +75,7 @@ function c81041016.qactivate(e,tp,eg,ep,ev,re,r,rp)
mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc) mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc)
else else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c81041016.qfilterF,1,1,nil,tp,mg,tc) mat=mg:FilterSelect(tp,cm.qfilterF,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(mat) Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc) local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc)
...@@ -77,22 +85,22 @@ function c81041016.qactivate(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,22 +85,22 @@ function c81041016.qactivate(e,tp,eg,ep,ev,re,r,rp)
Duel.ReleaseRitualMaterial(mat) Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81041016,0)) Duel.Hint(HINT_MUSIC,0,aux.Stringid(m,0))
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
function c81041016.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsAttack(1550) and (c:IsType(TYPE_LINK) or (c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM))) return c:IsAttack(1550) and (c:IsType(TYPE_LINK) or (c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)))
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end end
function c81041016.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81041016.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c81041016.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c81041016.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
......
--心中所回响的声音 --心中所回响的声音
function c81041023.initial_effect(c) local m=81041023
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,81041005) aux.AddCodeList(c,81041005)
--Activate --Activate
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON) e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_ACTIVATE) e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN) e0:SetCode(EVENT_FREE_CHAIN)
e0:SetTarget(c81041023.qtarget) e0:SetTarget(cm.qtarget)
e0:SetOperation(c81041023.qactivate) e0:SetOperation(cm.qactivate)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--change name --change name
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -22,41 +25,46 @@ function c81041023.initial_effect(c) ...@@ -22,41 +25,46 @@ function c81041023.initial_effect(c)
e2:SetCategory(CATEGORY_TODECK) e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,81041023) e2:SetCountLimit(1,m)
e2:SetCondition(aux.exccon) e2:SetCondition(aux.exccon)
e2:SetTarget(c81041023.settg) e2:SetTarget(cm.settg)
e2:SetOperation(c81041023.setop) e2:SetOperation(cm.setop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c81041023.qfilter(c,e,tp,m,ft) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.qfilter(c,e,tp,m,ft)
if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81 if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c) local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
if ft>0 then if ft>0 then
return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c) return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c)
else else
return mg:IsExists(c81041023.qfilterF,1,nil,tp,mg,c) return mg:IsExists(cm.qfilterF,1,nil,tp,mg,c)
end end
end end
function c81041023.qfilterF(c,tp,mg,rc) function cm.qfilterF(c,tp,mg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c) Duel.SetSelectedCard(c)
return mg:CheckWithSumGreater(Card.GetRitualLevel,rc:GetLevel(),rc) return mg:CheckWithSumGreater(Card.GetRitualLevel,rc:GetLevel(),rc)
else return false end else return false end
end end
function c81041023.qtarget(e,tp,eg,ep,ev,re,r,rp,chk) function cm.qtarget(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.IsExistingMatchingCard(c81041023.qfilter,tp,LOCATION_HAND,0,1,nil,e,tp,mg,ft) return ft>-1 and Duel.IsExistingMatchingCard(cm.qfilter,tp,LOCATION_HAND,0,1,nil,e,tp,mg,ft)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c81041023.qactivate(e,tp,eg,ep,ev,re,r,rp) function cm.qactivate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c81041023.qfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg,ft) local tg=Duel.SelectMatchingCard(tp,cm.qfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,mg,ft)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc then if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
...@@ -66,7 +74,7 @@ function c81041023.qactivate(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,7 +74,7 @@ function c81041023.qactivate(e,tp,eg,ep,ev,re,r,rp)
mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc) mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc)
else else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c81041023.qfilterF,1,1,nil,tp,mg,tc) mat=mg:FilterSelect(tp,cm.qfilterF,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(mat) Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc) local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc)
...@@ -76,22 +84,22 @@ function c81041023.qactivate(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,22 +84,22 @@ function c81041023.qactivate(e,tp,eg,ep,ev,re,r,rp)
Duel.ReleaseRitualMaterial(mat) Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81041023,0)) Duel.Hint(HINT_MUSIC,0,aux.Stringid(m,0))
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
function c81041023.setfilter(c) function cm.setfilter(c)
return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsAbleToDeck() return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsAbleToDeck()
end end
function c81041023.settg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() if chk==0 then return e:GetHandler():IsSSetable()
and Duel.IsExistingMatchingCard(c81041023.setfilter,tp,LOCATION_EXTRA,0,1,nil) end and Duel.IsExistingMatchingCard(cm.setfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end end
function c81041023.setop(e,tp,eg,ep,ev,re,r,rp) function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c81041023.setfilter,tp,LOCATION_EXTRA,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_EXTRA,0,1,1,nil)
if #g>0 and Duel.SendtoDeck(g,nil,2,REASON_EFFECT)>0 if #g>0 and Duel.SendtoDeck(g,nil,2,REASON_EFFECT)>0
and c:IsRelateToEffect(e) and c:IsSSetable() then and c:IsRelateToEffect(e) and c:IsSSetable() then
Duel.SSet(tp,c) Duel.SSet(tp,c)
......
--咖啡店的庆功派对 --咖啡店的庆功派对
function c81041026.initial_effect(c) local m=81041026
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate --Activate
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON) e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_ACTIVATE) e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN) e0:SetCode(EVENT_FREE_CHAIN)
e0:SetCountLimit(1,81041026) e0:SetCountLimit(1,m)
e0:SetCost(c81041026.cost) e0:SetCost(cm.cost)
e0:SetOperation(c81041026.activate) e0:SetOperation(cm.activate)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--level up --level up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_SZONE) e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1,81041926) e1:SetCountLimit(1,m+900)
e1:SetCost(c81041026.lvcost) e1:SetCost(cm.lvcost)
e1:SetTarget(c81041026.lvtg) e1:SetTarget(cm.lvtg)
e1:SetOperation(c81041026.lvop) e1:SetOperation(cm.lvop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c81041026.cost(e,tp,eg,ep,ev,re,r,rp,chk) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
e:GetHandler():RegisterFlagEffect(81041026,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function c81041026.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsType(TYPE_PENDULUM) return c:IsAttack(1550) and c:IsDefense(1050) and c:IsType(TYPE_PENDULUM)
end end
function c81041026.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(81041026,0)) Duel.Hint(HINT_MUSIC,0,aux.Stringid(m,0))
local mg=Duel.GetRitualMaterial(tp) local mg=Duel.GetRitualMaterial(tp)
local g=Duel.GetMatchingGroup(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,nil,c81041026.filter,e,tp,mg,nil,Card.GetLevel,"Greater") local g=Duel.GetMatchingGroup(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,nil,cm.filter,e,tp,mg,nil,Card.GetLevel,"Greater")
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(81041026,1)) then if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=g:Select(tp,1,1,nil):GetFirst() local tc=g:Select(tp,1,1,nil):GetFirst()
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc) mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
...@@ -51,18 +59,18 @@ function c81041026.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,18 +59,18 @@ function c81041026.activate(e,tp,eg,ep,ev,re,r,rp)
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
function c81041026.lvcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.lvcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() and e:GetHandler():GetFlagEffect(81041026)==0 end if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() and e:GetHandler():GetFlagEffect(m)==0 end
Duel.SendtoGrave(e:GetHandler(),REASON_COST) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c81041026.lvfilter(c) function cm.lvfilter(c)
return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:GetLevel()>0 return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:GetLevel()>0
end end
function c81041026.lvtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.lvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81041026.lvfilter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.lvfilter,tp,LOCATION_MZONE,0,1,nil) end
end end
function c81041026.lvop(e,tp,eg,ep,ev,re,r,rp) function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetMatchingGroup(c81041026.lvfilter,tp,LOCATION_MZONE,0,nil) local tg=Duel.GetMatchingGroup(cm.lvfilter,tp,LOCATION_MZONE,0,nil)
local tc=tg:GetFirst() local tc=tg:GetFirst()
while tc do while tc do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
--难以启齿的言情 --难以启齿的言情
function c81041029.initial_effect(c) local m=81041029
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_DECKDES) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,81041029) e1:SetCountLimit(1,m)
e1:SetTarget(c81041029.target) e1:SetTarget(cm.target)
e1:SetOperation(c81041029.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--tohand --tohand
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND) e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE) e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,81041929) e3:SetCountLimit(1,m+900)
e3:SetCost(aux.bfgcost) e3:SetCost(aux.bfgcost)
e3:SetTarget(c81041029.thtg) e3:SetTarget(cm.thtg)
e3:SetOperation(c81041029.thop) e3:SetOperation(cm.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c81041029.filter0(c) cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter0(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end end
function c81041029.filter1(c,e) function cm.filter1(c,e)
return not c:IsImmuneToEffect(e) return not c:IsImmuneToEffect(e)
end end
function c81041029.filter2(c,e,tp,m,f,chkf) function cm.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsAttack(1550) and c:IsDefense(1050) and (not f or f(c)) return c:IsType(TYPE_FUSION) and c:IsAttack(1550) and c:IsDefense(1050) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function c81041029.cfilter(c) function cm.cfilter(c)
return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:GetLevel()>c:GetOriginalLevel() return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:GetLevel()>c:GetOriginalLevel()
end end
function c81041029.fcheck(tp,sg,fc) function cm.fcheck(tp,sg,fc)
return sg:FilterCount(Card.IsLocation,nil,LOCATION_EXTRA)<=1 return sg:FilterCount(Card.IsLocation,nil,LOCATION_EXTRA)<=1
end end
function c81041029.gcheck(sg) function cm.gcheck(sg)
return sg:FilterCount(Card.IsLocation,nil,LOCATION_EXTRA)<=1 return sg:FilterCount(Card.IsLocation,nil,LOCATION_EXTRA)<=1
end end
function c81041029.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp) local mg1=Duel.GetFusionMaterial(tp)
if Duel.IsExistingMatchingCard(c81041029.cfilter,tp,LOCATION_MZONE,0,1,nil) then if Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil) then
local mg2=Duel.GetMatchingGroup(c81041029.filter0,tp,LOCATION_EXTRA,0,nil) local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_EXTRA,0,nil)
if mg2:GetCount()>0 then if mg2:GetCount()>0 then
mg1:Merge(mg2) mg1:Merge(mg2)
Auxiliary.FCheckAdditional=c81041029.fcheck Auxiliary.FCheckAdditional=cm.fcheck
Auxiliary.GCheckAdditional=c81041029.gcheck Auxiliary.GCheckAdditional=cm.gcheck
end end
end end
local res=Duel.IsExistingMatchingCard(c81041029.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
Auxiliary.FCheckAdditional=nil Auxiliary.FCheckAdditional=nil
Auxiliary.GCheckAdditional=nil Auxiliary.GCheckAdditional=nil
if not res then if not res then
...@@ -60,29 +68,29 @@ function c81041029.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -60,29 +68,29 @@ function c81041029.target(e,tp,eg,ep,ev,re,r,rp,chk)
local fgroup=ce:GetTarget() local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp) local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue() local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c81041029.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf) res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end end
end end
return res return res
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c81041029.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c81041029.filter1,nil,e) local mg1=Duel.GetFusionMaterial(tp):Filter(cm.filter1,nil,e)
local exmat=false local exmat=false
if Duel.IsExistingMatchingCard(c81041029.cfilter,tp,LOCATION_MZONE,0,1,nil) then if Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil) then
local mg2=Duel.GetMatchingGroup(c81041029.filter0,tp,LOCATION_EXTRA,0,nil) local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_EXTRA,0,nil)
if mg2:GetCount()>0 then if mg2:GetCount()>0 then
mg1:Merge(mg2) mg1:Merge(mg2)
exmat=true exmat=true
end end
end end
if exmat then if exmat then
Auxiliary.FCheckAdditional=c81041029.fcheck Auxiliary.FCheckAdditional=cm.fcheck
Auxiliary.GCheckAdditional=c81041029.gcheck Auxiliary.GCheckAdditional=cm.gcheck
end end
local sg1=Duel.GetMatchingGroup(c81041029.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf) local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
Auxiliary.FCheckAdditional=nil Auxiliary.FCheckAdditional=nil
Auxiliary.GCheckAdditional=nil Auxiliary.GCheckAdditional=nil
local mg3=nil local mg3=nil
...@@ -92,7 +100,7 @@ function c81041029.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,7 +100,7 @@ function c81041029.activate(e,tp,eg,ep,ev,re,r,rp)
local fgroup=ce:GetTarget() local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp) mg3=fgroup(ce,e,tp)
local mf=ce:GetValue() local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c81041029.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf) sg2=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone() local sg=sg1:Clone()
...@@ -103,8 +111,8 @@ function c81041029.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -103,8 +111,8 @@ function c81041029.activate(e,tp,eg,ep,ev,re,r,rp)
mg1:RemoveCard(tc) mg1:RemoveCard(tc)
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
if exmat then if exmat then
Auxiliary.FCheckAdditional=c81041029.fcheck Auxiliary.FCheckAdditional=cm.fcheck
Auxiliary.GCheckAdditional=c81041029.gcheck Auxiliary.GCheckAdditional=cm.gcheck
end end
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf) local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
Auxiliary.FCheckAdditional=nil Auxiliary.FCheckAdditional=nil
...@@ -121,16 +129,16 @@ function c81041029.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -121,16 +129,16 @@ function c81041029.activate(e,tp,eg,ep,ev,re,r,rp)
tc:CompleteProcedure() tc:CompleteProcedure()
end end
end end
function c81041029.thfilter(c) function cm.thfilter(c)
return c:IsCode(81041000) and c:IsAbleToHand() return c:IsCode(81041000) and c:IsAbleToHand()
end end
function c81041029.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c81041029.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c81041029.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c81041029.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
...@@ -31,6 +31,11 @@ function cm.initial_effect(c) ...@@ -31,6 +31,11 @@ function cm.initial_effect(c)
e4:SetOperation(cm.spop) e4:SetOperation(cm.spop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.qfilter(c,e,tp,m,ft) function cm.qfilter(c,e,tp,m,ft)
if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81 if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
......
...@@ -32,6 +32,11 @@ function cm.initial_effect(c) ...@@ -32,6 +32,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.tdop) e2:SetOperation(cm.tdop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.qfilter(c,e,tp,m,ft) function cm.qfilter(c,e,tp,m,ft)
if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81 if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
......
...@@ -25,6 +25,11 @@ function cm.initial_effect(c) ...@@ -25,6 +25,11 @@ function cm.initial_effect(c)
e4:SetOperation(cm.thop) e4:SetOperation(cm.thop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter(c) function cm.filter(c)
return (aux.IsCodeListed(c,81041005) or c:IsCode(81041005)) and not c:IsCode(m) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP) return (aux.IsCodeListed(c,81041005) or c:IsCode(81041005)) and not c:IsCode(m) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
......
...@@ -41,6 +41,11 @@ function cm.initial_effect(c) ...@@ -41,6 +41,11 @@ function cm.initial_effect(c)
e3:SetCondition(cm.phandcon) e3:SetCondition(cm.phandcon)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.qfilter(c,e,tp,m,ft) function cm.qfilter(c,e,tp,m,ft)
if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81 if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
......
...@@ -26,6 +26,11 @@ function cm.initial_effect(c) ...@@ -26,6 +26,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.setop) e2:SetOperation(cm.setop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsChainNegatable(ev) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) return Duel.IsChainNegatable(ev) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE))
end end
......
...@@ -33,6 +33,11 @@ function cm.initial_effect(c) ...@@ -33,6 +33,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.matop) e2:SetOperation(cm.matop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.filter(c,e,tp,m1,m2,ft) function cm.filter(c,e,tp,m1,m2,ft)
if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81 if not (c:IsType(TYPE_PENDULUM) and c:IsAttack(1550) and c:IsDefense(1050)) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
......
...@@ -24,6 +24,11 @@ function cm.initial_effect(c) ...@@ -24,6 +24,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.atkop) e2:SetOperation(cm.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
cm.Attack_Defense_Listed=1
function cm.Mayumi(c)
local m=_G["c"..c:GetCode()]
return m and m.Attack_Defense_Listed
end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsLevelAbove(13) return c:IsFaceup() and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM) and c:IsLevelAbove(13)
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