Commit 8754e7f2 authored by 聖園ミカ's avatar 聖園ミカ 🐟

7

parent 96402a56
No preview for this file type
expansions/pics/16364061.jpg

86.2 KB | W: | H:

expansions/pics/16364061.jpg

82 KB | W: | H:

expansions/pics/16364061.jpg
expansions/pics/16364061.jpg
expansions/pics/16364061.jpg
expansions/pics/16364061.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010001.jpg

92.6 KB | W: | H:

expansions/pics/96010001.jpg

90.2 KB | W: | H:

expansions/pics/96010001.jpg
expansions/pics/96010001.jpg
expansions/pics/96010001.jpg
expansions/pics/96010001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010002.jpg

102 KB | W: | H:

expansions/pics/96010002.jpg

99.7 KB | W: | H:

expansions/pics/96010002.jpg
expansions/pics/96010002.jpg
expansions/pics/96010002.jpg
expansions/pics/96010002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010003.jpg

110 KB | W: | H:

expansions/pics/96010003.jpg

108 KB | W: | H:

expansions/pics/96010003.jpg
expansions/pics/96010003.jpg
expansions/pics/96010003.jpg
expansions/pics/96010003.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010004.jpg

89.7 KB | W: | H:

expansions/pics/96010004.jpg

87.4 KB | W: | H:

expansions/pics/96010004.jpg
expansions/pics/96010004.jpg
expansions/pics/96010004.jpg
expansions/pics/96010004.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010005.jpg

106 KB | W: | H:

expansions/pics/96010005.jpg

103 KB | W: | H:

expansions/pics/96010005.jpg
expansions/pics/96010005.jpg
expansions/pics/96010005.jpg
expansions/pics/96010005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010006.jpg

115 KB | W: | H:

expansions/pics/96010006.jpg

112 KB | W: | H:

expansions/pics/96010006.jpg
expansions/pics/96010006.jpg
expansions/pics/96010006.jpg
expansions/pics/96010006.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010007.jpg

90.2 KB | W: | H:

expansions/pics/96010007.jpg

88 KB | W: | H:

expansions/pics/96010007.jpg
expansions/pics/96010007.jpg
expansions/pics/96010007.jpg
expansions/pics/96010007.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010008.jpg

102 KB | W: | H:

expansions/pics/96010008.jpg

99.5 KB | W: | H:

expansions/pics/96010008.jpg
expansions/pics/96010008.jpg
expansions/pics/96010008.jpg
expansions/pics/96010008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010009.jpg

111 KB | W: | H:

expansions/pics/96010009.jpg

108 KB | W: | H:

expansions/pics/96010009.jpg
expansions/pics/96010009.jpg
expansions/pics/96010009.jpg
expansions/pics/96010009.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010010.jpg

109 KB | W: | H:

expansions/pics/96010010.jpg

106 KB | W: | H:

expansions/pics/96010010.jpg
expansions/pics/96010010.jpg
expansions/pics/96010010.jpg
expansions/pics/96010010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010011.jpg

113 KB | W: | H:

expansions/pics/96010011.jpg

110 KB | W: | H:

expansions/pics/96010011.jpg
expansions/pics/96010011.jpg
expansions/pics/96010011.jpg
expansions/pics/96010011.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010012.jpg

106 KB | W: | H:

expansions/pics/96010012.jpg

104 KB | W: | H:

expansions/pics/96010012.jpg
expansions/pics/96010012.jpg
expansions/pics/96010012.jpg
expansions/pics/96010012.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010013.jpg

123 KB | W: | H:

expansions/pics/96010013.jpg

120 KB | W: | H:

expansions/pics/96010013.jpg
expansions/pics/96010013.jpg
expansions/pics/96010013.jpg
expansions/pics/96010013.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010014.jpg

105 KB | W: | H:

expansions/pics/96010014.jpg

103 KB | W: | H:

expansions/pics/96010014.jpg
expansions/pics/96010014.jpg
expansions/pics/96010014.jpg
expansions/pics/96010014.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010015.jpg

106 KB | W: | H:

expansions/pics/96010015.jpg

104 KB | W: | H:

expansions/pics/96010015.jpg
expansions/pics/96010015.jpg
expansions/pics/96010015.jpg
expansions/pics/96010015.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010016.jpg

110 KB | W: | H:

expansions/pics/96010016.jpg

108 KB | W: | H:

expansions/pics/96010016.jpg
expansions/pics/96010016.jpg
expansions/pics/96010016.jpg
expansions/pics/96010016.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010017.jpg

98.7 KB | W: | H:

expansions/pics/96010017.jpg

96.4 KB | W: | H:

expansions/pics/96010017.jpg
expansions/pics/96010017.jpg
expansions/pics/96010017.jpg
expansions/pics/96010017.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010018.jpg

114 KB | W: | H:

expansions/pics/96010018.jpg

111 KB | W: | H:

expansions/pics/96010018.jpg
expansions/pics/96010018.jpg
expansions/pics/96010018.jpg
expansions/pics/96010018.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010021.jpg

105 KB | W: | H:

expansions/pics/96010021.jpg

104 KB | W: | H:

expansions/pics/96010021.jpg
expansions/pics/96010021.jpg
expansions/pics/96010021.jpg
expansions/pics/96010021.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010022.jpg

98.9 KB | W: | H:

expansions/pics/96010022.jpg

96.7 KB | W: | H:

expansions/pics/96010022.jpg
expansions/pics/96010022.jpg
expansions/pics/96010022.jpg
expansions/pics/96010022.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010023.jpg

111 KB | W: | H:

expansions/pics/96010023.jpg

109 KB | W: | H:

expansions/pics/96010023.jpg
expansions/pics/96010023.jpg
expansions/pics/96010023.jpg
expansions/pics/96010023.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010026.jpg

110 KB | W: | H:

expansions/pics/96010026.jpg

109 KB | W: | H:

expansions/pics/96010026.jpg
expansions/pics/96010026.jpg
expansions/pics/96010026.jpg
expansions/pics/96010026.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010027.jpg

106 KB | W: | H:

expansions/pics/96010027.jpg

103 KB | W: | H:

expansions/pics/96010027.jpg
expansions/pics/96010027.jpg
expansions/pics/96010027.jpg
expansions/pics/96010027.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010028.jpg

109 KB | W: | H:

expansions/pics/96010028.jpg

107 KB | W: | H:

expansions/pics/96010028.jpg
expansions/pics/96010028.jpg
expansions/pics/96010028.jpg
expansions/pics/96010028.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010031.jpg

107 KB | W: | H:

expansions/pics/96010031.jpg

106 KB | W: | H:

expansions/pics/96010031.jpg
expansions/pics/96010031.jpg
expansions/pics/96010031.jpg
expansions/pics/96010031.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010032.jpg

125 KB | W: | H:

expansions/pics/96010032.jpg

123 KB | W: | H:

expansions/pics/96010032.jpg
expansions/pics/96010032.jpg
expansions/pics/96010032.jpg
expansions/pics/96010032.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010033.jpg

130 KB | W: | H:

expansions/pics/96010033.jpg

131 KB | W: | H:

expansions/pics/96010033.jpg
expansions/pics/96010033.jpg
expansions/pics/96010033.jpg
expansions/pics/96010033.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010034.jpg

118 KB | W: | H:

expansions/pics/96010034.jpg

119 KB | W: | H:

expansions/pics/96010034.jpg
expansions/pics/96010034.jpg
expansions/pics/96010034.jpg
expansions/pics/96010034.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010035.jpg

90.3 KB | W: | H:

expansions/pics/96010035.jpg

88.3 KB | W: | H:

expansions/pics/96010035.jpg
expansions/pics/96010035.jpg
expansions/pics/96010035.jpg
expansions/pics/96010035.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010037.jpg

96.2 KB | W: | H:

expansions/pics/96010037.jpg

94 KB | W: | H:

expansions/pics/96010037.jpg
expansions/pics/96010037.jpg
expansions/pics/96010037.jpg
expansions/pics/96010037.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010040.jpg

98.4 KB | W: | H:

expansions/pics/96010040.jpg

96.3 KB | W: | H:

expansions/pics/96010040.jpg
expansions/pics/96010040.jpg
expansions/pics/96010040.jpg
expansions/pics/96010040.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010041.jpg

88.2 KB | W: | H:

expansions/pics/96010041.jpg

86.1 KB | W: | H:

expansions/pics/96010041.jpg
expansions/pics/96010041.jpg
expansions/pics/96010041.jpg
expansions/pics/96010041.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010043.jpg

102 KB | W: | H:

expansions/pics/96010043.jpg

99.4 KB | W: | H:

expansions/pics/96010043.jpg
expansions/pics/96010043.jpg
expansions/pics/96010043.jpg
expansions/pics/96010043.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010046.jpg

102 KB | W: | H:

expansions/pics/96010046.jpg

99.6 KB | W: | H:

expansions/pics/96010046.jpg
expansions/pics/96010046.jpg
expansions/pics/96010046.jpg
expansions/pics/96010046.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010047.jpg

86.7 KB | W: | H:

expansions/pics/96010047.jpg

84.6 KB | W: | H:

expansions/pics/96010047.jpg
expansions/pics/96010047.jpg
expansions/pics/96010047.jpg
expansions/pics/96010047.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010048.jpg

94 KB | W: | H:

expansions/pics/96010048.jpg

91.9 KB | W: | H:

expansions/pics/96010048.jpg
expansions/pics/96010048.jpg
expansions/pics/96010048.jpg
expansions/pics/96010048.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010051.jpg

99.3 KB | W: | H:

expansions/pics/96010051.jpg

97.1 KB | W: | H:

expansions/pics/96010051.jpg
expansions/pics/96010051.jpg
expansions/pics/96010051.jpg
expansions/pics/96010051.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010052.jpg

112 KB | W: | H:

expansions/pics/96010052.jpg

109 KB | W: | H:

expansions/pics/96010052.jpg
expansions/pics/96010052.jpg
expansions/pics/96010052.jpg
expansions/pics/96010052.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010053.jpg

110 KB | W: | H:

expansions/pics/96010053.jpg

107 KB | W: | H:

expansions/pics/96010053.jpg
expansions/pics/96010053.jpg
expansions/pics/96010053.jpg
expansions/pics/96010053.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010054.jpg

113 KB | W: | H:

expansions/pics/96010054.jpg

110 KB | W: | H:

expansions/pics/96010054.jpg
expansions/pics/96010054.jpg
expansions/pics/96010054.jpg
expansions/pics/96010054.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010055.jpg

116 KB | W: | H:

expansions/pics/96010055.jpg

113 KB | W: | H:

expansions/pics/96010055.jpg
expansions/pics/96010055.jpg
expansions/pics/96010055.jpg
expansions/pics/96010055.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010056.jpg

124 KB | W: | H:

expansions/pics/96010056.jpg

122 KB | W: | H:

expansions/pics/96010056.jpg
expansions/pics/96010056.jpg
expansions/pics/96010056.jpg
expansions/pics/96010056.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/96010057.jpg

120 KB | W: | H:

expansions/pics/96010057.jpg

118 KB | W: | H:

expansions/pics/96010057.jpg
expansions/pics/96010057.jpg
expansions/pics/96010057.jpg
expansions/pics/96010057.jpg
  • 2-up
  • Swipe
  • Onion skin
--岩之魔神 摩拉克斯 --岩之魔神 摩拉克斯
local s,id=GetID() local s,id=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroMixProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0xa540),nil,nil,aux.Tuner(aux.FilterBoolFunction(Card.IsSetCard,0xa540)),1,99) aux.AddSynchroMixProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0xa540),nil,nil,aux.Tuner(aux.FilterBoolFunction(Card.IsSetCard,0xa540)),1,99)
c:EnableReviveLimit() c:EnableReviveLimit()
--spsummon --spsummon
...@@ -110,7 +110,7 @@ function s.etarget(e,c) ...@@ -110,7 +110,7 @@ function s.etarget(e,c)
return c:IsFaceup() and c:IsSetCard(0x3540) and c:IsType(TYPE_MONSTER) return c:IsFaceup() and c:IsSetCard(0x3540) and c:IsType(TYPE_MONSTER)
end end
function s.efilter(e,re) function s.efilter(e,re)
return re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) return re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) and re:GetOwnerPlayer()~=e:GetHandlerPlayer()
end end
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
......
--开幕定式! --开幕定式!
---@param c Card
yume=yume or {} yume=yume or {}
if c71403001 then if c71403001 then
function c71403001.initial_effect(c) function c71403001.initial_effect(c)
...@@ -250,6 +251,8 @@ function yume.OptionalPendulum(e,c,tp) ...@@ -250,6 +251,8 @@ function yume.OptionalPendulum(e,c,tp)
else else
Duel.SpecialSummonRule(tp,lpz,SUMMON_TYPE_PENDULUM) Duel.SpecialSummonRule(tp,lpz,SUMMON_TYPE_PENDULUM)
end end
else
aux.PendulumChecklist=pend_chk
end end
end end
function yume.ResetExtraPendulumEffect(e,tp,eg,ep,ev,re,r,rp) function yume.ResetExtraPendulumEffect(e,tp,eg,ep,ev,re,r,rp)
...@@ -257,4 +260,243 @@ function yume.ResetExtraPendulumEffect(e,tp,eg,ep,ev,re,r,rp) ...@@ -257,4 +260,243 @@ function yume.ResetExtraPendulumEffect(e,tp,eg,ep,ev,re,r,rp)
aux.PendulumChecklist=e:GetLabel() aux.PendulumChecklist=e:GetLabel()
e1:Reset() e1:Reset()
e:Reset() e:Reset()
end
function yume.RegPPTPuyopuyoBasicExtraFlag(c)
--Destroyed and added to Extra from Main Monster Zone
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_TO_DECK)
e1:SetCondition(yume.RegPPTPuyopuyoBasicExtraFlagCon)
e1:SetOperation(yume.RegPPTPuyopuyoBasicExtraFlagOp)
c:RegisterEffect(e1)
end
function yume.RegPPTPuyopuyoBasicMoveEffect(c,id)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71403001,6))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_CHAINING)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e1:SetCountLimit(1,id)
e1:SetCost(yume.PPTLimitCost)
e1:SetTarget(yume.PPTPuyopuyoBasicMoveTg)
e1:SetOperation(yume.PPTPuyopuyoBasicMoveOp)
c:RegisterEffect(e1)
end
function yume.RegPPTPuyopuyoBasicExtraFlagCon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousSequence()<5
and c:IsReason(REASON_DESTROY) and c:IsLocation(LOCATION_EXTRA) and c:IsFaceup()
end
function yume.RegPPTPuyopuyoBasicExtraFlagOp(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
c:RegisterFlagEffect(71403019,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function yume.RegPPTPuyopuyoBasicExtraCon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(71403019)>0
end
function yume.PPTPuyopuyoBasicMoveTg(e,tp,eg,ep,ev,re,r,rp,chk)
return yume.PPTTetrisBasicMoveTg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function yume.PPTPuyopuyoBasicMoveOp(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:GetSequence()<5 or c:IsImmuneToEffect(e) or not c:IsControler(tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local fd=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
Duel.Hint(HINT_ZONE,tp,fd)
local seq=math.log(fd,2)
local pseq=c:GetSequence()
Duel.MoveSequence(c,seq)
Duel.AdjustAll()
if not c:IsLocation(LOCATION_MZONE) or c:GetSequence()~=seq then return end
local loc=0
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then loc=loc+LOCATION_HAND end
if Duel.GetLocationCountFromEx(tp,tp,nil,TYPE_PENDULUM)>0 then loc=loc+LOCATION_EXTRA end
local lpz=Duel.GetFieldCard(tp,LOCATION_PZONE,0)
local rpz=Duel.GetFieldCard(tp,LOCATION_PZONE,1)
local oppo_lpz=Duel.GetFieldCard(1-tp,LOCATION_PZONE,0)
local oppo_rpz=Duel.GetFieldCard(1-tp,LOCATION_PZONE,1)
local self_pend_flag = lpz ~= nil and rpz ~= nil
local oppo_pend_flag = oppo_lpz ~= nil and oppo_rpz ~= nil
and oppo_lpz:GetFieldID()==oppo_lpz:GetFlagEffectLabel(31531170)
and oppo_rpz:GetFieldID()==oppo_rpz:GetFlagEffectLabel(31531170)
local b1=loc~=0 and (self_pend_flag or oppo_pend_flag)
local pend_chk=aux.PendulumChecklist
if b1 then
aux.PendulumChecklist=aux.PendulumChecklist&~(1<<tp)
local eset={}
local lscale,rscale,oppo_lscale,oppo_rscale
local g=Duel.GetFieldGroup(tp,loc,0)
if self_pend_flag then
lscale=lpz:GetLeftScale()
rscale=rpz:GetRightScale()
if lscale>rscale then lscale,rscale=rscale,lscale end
end
if oppo_pend_flag then
oppo_lscale=oppo_lpz:GetLeftScale()
oppo_rscale=oppo_rpz:GetRightScale()
if oppo_lscale>oppo_rscale then
oppo_lscale,oppo_rscale=oppo_rscale,oppo_lscale
end
end
self_pend_flag=self_pend_flag and g:IsExists(aux.PConditionFilter,1,nil,e,tp,lscale,rscale,eset)
oppo_pend_flag=oppo_pend_flag and g:IsExists(aux.PConditionFilter,1,nil,e,tp,oppo_lscale,oppo_rscale,eset)
b1=self_pend_flag or oppo_pend_flag
end
local b2=c:IsRelateToEffect(e)
local b3=true
local options_table={}
if b1 then table.insert(options_table,aux.Stringid(71403001,7)) end
if b2 then table.insert(options_table,aux.Stringid(71403001,8)) end
if b3 then table.insert(options_table,aux.Stringid(71403001,9)) end
if not (b1 or b2) then
aux.PendulumChecklist=pend_chk
return
end
local op=Duel.SelectOption(tp,table.unpack(options_table))
if not b1 then op=op+1 end
if not b2 and op==1 then op=op+1 end
if op==0 then
Duel.BreakEffect()
--reset when special summoned
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetReset(RESET_PHASE+PHASE_MAIN1)
e1:SetLabel(pend_chk)
e1:SetOperation(yume.ResetExtraPendulumEffect)
Duel.RegisterEffect(e1,tp)
--reset when negated
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_NEGATED)
e2:SetOperation(yume.ResetExtraPendulumEffect)
e2:SetLabelObject(e1)
e2:SetLabel(pend_chk)
e2:SetReset(RESET_PHASE+PHASE_MAIN1)
Duel.RegisterEffect(e2,tp)
e1:SetLabelObject(e2)
local use_oppo_pend=not self_pend_flag or oppo_pend_flag and Duel.SelectYesNo(tp,aux.Stringid(71403001,5))
if use_oppo_pend then
Duel.SpecialSummonRule(tp,oppo_lpz,SUMMON_TYPE_PENDULUM)
else
Duel.SpecialSummonRule(tp,lpz,SUMMON_TYPE_PENDULUM)
end
else
aux.PendulumChecklist=pend_chk
if op==1 then
Duel.BreakEffect()
Duel.Destroy(c,REASON_EFFECT)
end
end
end
function yume.RegPPTPuyopuyoExMoveEffect(c,id)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71403022,1))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_CHAINING)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e1:SetCountLimit(1,id)
e1:SetCost(yume.PPTLimitCost)
e1:SetTarget(yume.PPTPuyopuyoBasicMoveTg)
e1:SetOperation(yume.PPTPuyopuyoExMoveOp)
c:RegisterEffect(e1)
end
function yume.PPTPuyopuyoExMoveOp(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:GetSequence()<5 or c:IsImmuneToEffect(e) or not c:IsControler(tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local fd=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
Duel.Hint(HINT_ZONE,tp,fd)
local seq=math.log(fd,2)
local pseq=c:GetSequence()
Duel.MoveSequence(c,seq)
Duel.AdjustAll()
if not c:IsLocation(LOCATION_MZONE) or c:GetSequence()~=seq then return end
local loc=0
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then loc=loc+LOCATION_HAND end
if Duel.GetLocationCountFromEx(tp,tp,nil,TYPE_PENDULUM)>0 then loc=loc+LOCATION_EXTRA end
local lpz=Duel.GetFieldCard(tp,LOCATION_PZONE,0)
local rpz=Duel.GetFieldCard(tp,LOCATION_PZONE,1)
local oppo_lpz=Duel.GetFieldCard(1-tp,LOCATION_PZONE,0)
local oppo_rpz=Duel.GetFieldCard(1-tp,LOCATION_PZONE,1)
local self_pend_flag = lpz ~= nil and rpz ~= nil
local oppo_pend_flag = oppo_lpz ~= nil and oppo_rpz ~= nil
and oppo_lpz:GetFieldID()==oppo_lpz:GetFlagEffectLabel(31531170)
and oppo_rpz:GetFieldID()==oppo_rpz:GetFlagEffectLabel(31531170)
local b1=loc~=0 and (self_pend_flag or oppo_pend_flag)
local pend_chk=aux.PendulumChecklist
if b1 then
aux.PendulumChecklist=aux.PendulumChecklist&~(1<<tp)
local eset={}
local lscale,rscale,oppo_lscale,oppo_rscale
local g=Duel.GetFieldGroup(tp,loc,0)
if self_pend_flag then
lscale=lpz:GetLeftScale()
rscale=rpz:GetRightScale()
if lscale>rscale then lscale,rscale=rscale,lscale end
end
if oppo_pend_flag then
oppo_lscale=oppo_lpz:GetLeftScale()
oppo_rscale=oppo_rpz:GetRightScale()
if oppo_lscale>oppo_rscale then
oppo_lscale,oppo_rscale=oppo_rscale,oppo_lscale
end
end
self_pend_flag=self_pend_flag and g:IsExists(aux.PConditionFilter,1,nil,e,tp,lscale,rscale,eset)
oppo_pend_flag=oppo_pend_flag and g:IsExists(aux.PConditionFilter,1,nil,e,tp,oppo_lscale,oppo_rscale,eset)
b1=self_pend_flag or oppo_pend_flag
end
local desg=Duel.GetFieldGroup(0,LOCATION_ONFIELD,LOCATION_ONFIELD)
local b2=desg:GetCount()>0
local b3=true
local options_table={}
if b1 then table.insert(options_table,aux.Stringid(71403022,2)) end
if b2 then table.insert(options_table,aux.Stringid(71403022,3)) end
if b3 then table.insert(options_table,aux.Stringid(71403022,4)) end
if not (b1 or b2) then
aux.PendulumChecklist=pend_chk
return
end
local op=Duel.SelectOption(tp,table.unpack(options_table))
if not b1 then op=op+1 end
if not b2 and op==1 then op=op+1 end
if op==0 then
Duel.BreakEffect()
--reset when special summoned
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetReset(RESET_PHASE+PHASE_MAIN1)
e1:SetLabel(pend_chk)
e1:SetOperation(yume.ResetExtraPendulumEffect)
Duel.RegisterEffect(e1,tp)
--reset when negated
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_NEGATED)
e2:SetOperation(yume.ResetExtraPendulumEffect)
e2:SetLabelObject(e1)
e2:SetLabel(pend_chk)
e2:SetReset(RESET_PHASE+PHASE_MAIN1)
Duel.RegisterEffect(e2,tp)
e1:SetLabelObject(e2)
local use_oppo_pend=not self_pend_flag or oppo_pend_flag and Duel.SelectYesNo(tp,aux.Stringid(71403001,5))
if use_oppo_pend then
Duel.SpecialSummonRule(tp,oppo_lpz,SUMMON_TYPE_PENDULUM)
else
Duel.SpecialSummonRule(tp,lpz,SUMMON_TYPE_PENDULUM)
end
else
aux.PendulumChecklist=pend_chk
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=desg:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.BreakEffect()
Duel.Destroy(sg,REASON_EFFECT)
end
end
end end
\ No newline at end of file
...@@ -36,7 +36,7 @@ function c71403005.initial_effect(c) ...@@ -36,7 +36,7 @@ function c71403005.initial_effect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE+LOCATION_HAND)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,71513005) e1:SetCountLimit(1,71513005)
......
...@@ -50,7 +50,6 @@ function c71403011.initial_effect(c) ...@@ -50,7 +50,6 @@ function c71403011.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
yume.PPTCounter() yume.PPTCounter()
end end
function c71403011.actfilter(c,tp) function c71403011.actfilter(c,tp)
return c:IsFaceup() and c:IsControler(tp) and c:IsSetCard(0x162) and c:IsType(TYPE_PENDULUM) and c:IsSummonType(SUMMON_TYPE_PENDULUM) return c:IsFaceup() and c:IsControler(tp) and c:IsSetCard(0x162) and c:IsType(TYPE_PENDULUM) and c:IsSummonType(SUMMON_TYPE_PENDULUM)
end end
...@@ -156,9 +155,9 @@ function c71403011.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -156,9 +155,9 @@ function c71403011.op2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFieldCard(1-tp,LOCATION_MZONE,seq) local tc=Duel.GetFieldCard(1-tp,LOCATION_MZONE,seq)
if tc then if tc then
if tc:GetPosition()==pos then if tc:GetPosition()==pos then
unchanged_g.AddCard(tc) unchanged_g:AddCard(tc)
else else
changed_g.AddCard(tc) changed_g:AddCard(tc)
end end
end end
end end
......
...@@ -36,7 +36,7 @@ function c71403012.initial_effect(c) ...@@ -36,7 +36,7 @@ function c71403012.initial_effect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DISABLE) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE+LOCATION_HAND)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,71513004) e1:SetCountLimit(1,71513004)
......
...@@ -6,7 +6,7 @@ cm.TC_number=51 ...@@ -6,7 +6,7 @@ cm.TC_number=51
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,81902000) aux.AddCodeList(c,81902000)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,nil,8,3,cm.ovfilter,aux.Stringid(m,0),2,cm.xyzop) aux.AddXyzProcedure(c,nil,8,3,cm.ovfilter,aux.Stringid(m,0),3,cm.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
--inactivatable --inactivatable
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -124,7 +124,7 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -124,7 +124,7 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c~=e:GetHandler() and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsType(TYPE_XYZ) and c:IsRankBelow(8) return c~=e:GetHandler() and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsType(TYPE_XYZ) and c:IsRankBelow(8) and c:IsAttribute(ATTRIBUTE_WIND)
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount()~=e:GetLabel() and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return Duel.GetTurnCount()~=e:GetLabel() and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -22,8 +22,12 @@ function cm.initial_effect(c) ...@@ -22,8 +22,12 @@ function cm.initial_effect(c)
e1:SetOperation(cm.tgop) e1:SetOperation(cm.tgop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--equip --equip
local e2=e1:Clone() local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2)) e2:SetDescription(aux.Stringid(m,2))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCategory(CATEGORY_EQUIP) e2:SetCategory(CATEGORY_EQUIP)
e2:SetCost(cm.eqcost) e2:SetCost(cm.eqcost)
e2:SetTarget(cm.eqtg) e2:SetTarget(cm.eqtg)
...@@ -98,7 +102,7 @@ function cm.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -98,7 +102,7 @@ function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,0) tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE) e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_EQUIP_LIMIT) e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(cm.eqlimit) e1:SetValue(cm.eqlimit)
......
...@@ -63,7 +63,7 @@ function cm.ftarget(e,c) ...@@ -63,7 +63,7 @@ function cm.ftarget(e,c)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.Damage(1-tp,tc:GetBaseAttack(),REASON_EFFECT) Duel.Damage(1-tp,tc:GetBaseAttack(),REASON_EFFECT)
end end
end end
......
...@@ -48,7 +48,7 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -48,7 +48,7 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
end end
function cm.sfilter(c,e,tp) function cm.sfilter(c,e,tp)
return c:IsLocation(LOCATION_SZONE) and c:GetOriginalType()&TYPE_MONSTER>0 return c:IsLocation(LOCATION_SZONE) and c:IsSetCard(0x3ef8) and c:GetOriginalType()&TYPE_MONSTER>0
and c:IsFaceup() and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsFaceup() and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.spstg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spstg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -69,24 +69,18 @@ function cm.initial_effect(c) ...@@ -69,24 +69,18 @@ function cm.initial_effect(c)
e6:SetTarget(cm.stptg) e6:SetTarget(cm.stptg)
e6:SetOperation(cm.stpop) e6:SetOperation(cm.stpop)
c:RegisterEffect(e6) c:RegisterEffect(e6)
--cannot remove --special summon
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD) e7:SetDescription(aux.Stringid(m,2))
e7:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE) e7:SetCategory(CATEGORY_SPECIAL_SUMMON)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e7:SetProperty(EFFECT_FLAG_CARD_TARGET)
e7:SetCode(EVENT_PHASE+PHASE_STANDBY)
e7:SetRange(LOCATION_SZONE) e7:SetRange(LOCATION_SZONE)
e7:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e7:SetCountLimit(1)
e7:SetTargetRange(1,1) e7:SetTarget(cm.sueptg)
e7:SetOperation(cm.suepop)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--search
local e8=Effect.CreateEffect(c)
e8:SetDescription(aux.Stringid(m,2))
e8:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e8:SetCode(EVENT_TO_GRAVE)
e8:SetProperty(EFFECT_FLAG_DELAY)
e8:SetTarget(cm.thtg)
e8:SetOperation(cm.thop)
c:RegisterEffect(e8)
end end
function cm.matfilter1(c) function cm.matfilter1(c)
return c:IsFusionAttribute(ATTRIBUTE_EARTH+ATTRIBUTE_LIGHT) return c:IsFusionAttribute(ATTRIBUTE_EARTH+ATTRIBUTE_LIGHT)
...@@ -143,19 +137,45 @@ function cm.stpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -143,19 +137,45 @@ function cm.stpop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
--search --special summon
function cm.thfilter(c) function cm.suepfilter(c,e,tp)
return c:IsSetCard(0x3ef8) and c:IsAbleToHand() return c:IsSetCard(0x3ef8) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,true,true) and Duel.GetLocationCountFromEx(tp,tp,e:GetHandler(),c)>0
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sueptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end if chk==0 then return Duel.IsExistingMatchingCard(cm.suepfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.suepop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local g=Duel.GetMatchingGroup(cm.suepfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil) if g:GetCount()==0 then return end
if g:GetCount()>0 then local tc=g:RandomSelect(tp,1):GetFirst()
Duel.SendtoHand(g,nil,REASON_EFFECT) if Duel.SpecialSummonStep(tc,0,tp,tp,true,true,POS_FACEUP) then
Duel.ConfirmCards(1-tp,g) if e:GetHandler():GetFlagEffect(m)>0 then
e:GetHandler():SetCardTarget(tc)
end
local fid=e:GetHandler():GetFieldID()
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetLabel(fid)
e1:SetLabelObject(tc)
e1:SetCondition(cm.retcon)
e1:SetOperation(cm.retop)
Duel.RegisterEffect(e1,tp)
end end
Duel.SpecialSummonComplete()
end
function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(m)~=e:GetLabel() then
e:Reset()
return false
else return true end
end
function cm.retop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end end
\ No newline at end of file
...@@ -47,23 +47,17 @@ function cm.initial_effect(c) ...@@ -47,23 +47,17 @@ function cm.initial_effect(c)
e3:SetTarget(cm.stptg) e3:SetTarget(cm.stptg)
e3:SetOperation(cm.stpop) e3:SetOperation(cm.stpop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot remove --destroy
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetDescription(aux.Stringid(2347656,1))
e4:SetCode(EFFECT_CANNOT_REMOVE) e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e4:SetCountLimit(1)
e4:SetTargetRange(1,1) e4:SetTarget(cm.destg)
e4:SetOperation(cm.desop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--destroy
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_DESTROY)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_TO_GRAVE)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetTarget(cm.destg)
e5:SetOperation(cm.desop)
c:RegisterEffect(e5)
end end
function cm.matfilter1(c) function cm.matfilter1(c)
return c:IsFusionAttribute(ATTRIBUTE_FIRE+ATTRIBUTE_DARK) return c:IsFusionAttribute(ATTRIBUTE_FIRE+ATTRIBUTE_DARK)
...@@ -160,15 +154,38 @@ function cm.stpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -160,15 +154,38 @@ function cm.stpop(e,tp,eg,ep,ev,re,r,rp)
end end
--destroy --destroy
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD+LOCATION_HAND)>0 end
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD+LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) end
function cm.tdfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3ef9) and c:IsType(TYPE_MONSTER)
end end
function cm.desop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local hg=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local fg=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
if g:GetCount()>0 then local g
if #hg>0 and (#fg==0 or Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))==0) then
g=hg:RandomSelect(tp,1)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
end
if g:GetCount()~=0 then
Duel.HintSelection(g) Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
Duel.BreakEffect()
local sg=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(sg) do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(300)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
end
end end
end end
\ No newline at end of file
...@@ -47,26 +47,16 @@ function cm.initial_effect(c) ...@@ -47,26 +47,16 @@ function cm.initial_effect(c)
e3:SetTarget(cm.stptg) e3:SetTarget(cm.stptg)
e3:SetOperation(cm.stpop) e3:SetOperation(cm.stpop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot remove --instant(chain)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetCategory(CATEGORY_DRAW+CATEGORY_HANDES)
e4:SetCode(EFFECT_CHANGE_DAMAGE)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetTargetRange(1,1) e4:SetCode(EVENT_FREE_CHAIN)
e4:SetCountLimit(1)
e4:SetCondition(cm.condition)
e4:SetOperation(cm.operation)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e5)
--spsummon
local e6=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_SPECIAL_SUMMON)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_TO_GRAVE)
e6:SetProperty(EFFECT_FLAG_DELAY)
e6:SetTarget(cm.sptg)
e6:SetOperation(cm.spop)
c:RegisterEffect(e6)
end end
function cm.matfilter1(c) function cm.matfilter1(c)
return c:IsFusionAttribute(ATTRIBUTE_WATER+ATTRIBUTE_WIND) return c:IsFusionAttribute(ATTRIBUTE_WATER+ATTRIBUTE_WIND)
...@@ -146,25 +136,39 @@ function cm.stpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -146,25 +136,39 @@ function cm.stpop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
--spsummon --instant(chain)
function cm.spfilter(c,e,tp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return c:IsSetCard(0xe2) and c:IsCanBeSpecialSummoned(e,0,tp,false,aux.TriamidSpSummonType(c)) return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return end
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_CARDTYPE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) local op=Duel.AnnounceType(1-tp)
end Duel.ConfirmDecktop(tp,1)
function cm.spop(e,tp,eg,ep,ev,re,r,rp) local g=Duel.GetDecktopGroup(tp,1)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end local tc=g:GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) if (op==0 and tc:IsType(TYPE_MONSTER)) or (op==1 and tc:IsType(TYPE_SPELL)) or (op==2 and tc:IsType(TYPE_TRAP)) then
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp) local e1=Effect.CreateEffect(e:GetHandler())
if g:GetCount()>0 then e1:SetType(EFFECT_TYPE_FIELD)
local sc=g:GetFirst() e1:SetCode(EFFECT_CHANGE_DAMAGE)
if Duel.SpecialSummon(g,0,tp,tp,false,aux.TriamidSpSummonType(sc),POS_FACEUP) and aux.TriamidSpSummonType(sc) then e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
sc:CompleteProcedure() e1:SetTargetRange(1,1)
e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
else
local g=Duel.GetMatchingGroup(nil,1-tp,LOCATION_ONFIELD,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_TOGRAVE)
local sg=g:Select(1-tp,1,1,nil)
Duel.HintSelection(sg)
Duel.SendtoGrave(sg,REASON_RULE,1-tp)
end end
end end
Duel.MoveSequence(tc,SEQ_DECKBOTTOM)
end end
\ No newline at end of file
...@@ -55,12 +55,24 @@ end ...@@ -55,12 +55,24 @@ end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsCode(96010021) and not c:IsPublic() return c:IsCode(96010021) and not c:IsPublic()
end end
function cm.rfilter(c,tp)
return c:IsLevelAbove(1) and c:IsSetCard(0x3ef9) and (c:IsControler(tp) or c:IsFaceup())
end
function cm.fselect(g,tp)
Duel.SetSelectedCard(g)
return g:CheckWithSumGreater(Card.GetLevel,7) and aux.mzctcheckrel(g,tp)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_EXTRA,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_EXTRA,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
if chk==0 then return Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 end local sg=Duel.GetReleaseGroup(tp):Filter(cm.rfilter,nil,tp)
if chk==0 then return g:CheckSubGroup(cm.fselect,1,g:GetCount(),tp) and Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local rg=sg:SelectSubGroup(tp,cm.fselect,false,1,g:GetCount(),tp)
aux.UseExtraReleaseCount(rg,tp)
Duel.Release(rg,REASON_COST)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
......
...@@ -70,11 +70,35 @@ end ...@@ -70,11 +70,35 @@ end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsCode(96010026) and not c:IsPublic() return c:IsCode(96010026) and not c:IsPublic()
end end
function cm.rfilter(c,tp)
return c:IsLevelAbove(1) and c:IsSetCard(0x3ef9) and (c:IsControler(tp) or c:IsFaceup())
end
function cm.fselect(g,tp)
Duel.SetSelectedCard(g)
return g:CheckWithSumGreater(Card.GetLevel,7) and aux.mzctcheckrel(g,tp)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_EXTRA,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_EXTRA,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
local sg=Duel.GetReleaseGroup(tp):Filter(cm.rfilter,nil,tp)
if chk==0 then return g:CheckSubGroup(cm.fselect,1,g:GetCount(),tp) and Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local rg=sg:SelectSubGroup(tp,cm.fselect,false,1,g:GetCount(),tp)
aux.UseExtraReleaseCount(rg,tp)
Duel.Release(rg,REASON_COST)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c)
return not c:IsSetCard(0x3ef8)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -88,11 +88,35 @@ end ...@@ -88,11 +88,35 @@ end
function cm.cfilter(c) function cm.cfilter(c)
return c:IsCode(96010031) and not c:IsPublic() return c:IsCode(96010031) and not c:IsPublic()
end end
function cm.rfilter(c,tp)
return c:IsLevelAbove(1) and c:IsSetCard(0x3ef9) and (c:IsControler(tp) or c:IsFaceup())
end
function cm.fselect(g,tp)
Duel.SetSelectedCard(g)
return g:CheckWithSumGreater(Card.GetLevel,7) and aux.mzctcheckrel(g,tp)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_EXTRA,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_EXTRA,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
local sg=Duel.GetReleaseGroup(tp):Filter(cm.rfilter,nil,tp)
if chk==0 then return g:CheckSubGroup(cm.fselect,1,g:GetCount(),tp) and Duel.GetCustomActivityCount(m,tp,ACTIVITY_SPSUMMON)==0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local rg=sg:SelectSubGroup(tp,cm.fselect,false,1,g:GetCount(),tp)
aux.UseExtraReleaseCount(rg,tp)
Duel.Release(rg,REASON_COST)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
end
function cm.splimit(e,c)
return not c:IsSetCard(0x3ef8)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -78,7 +78,7 @@ function cm.eqop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,7 +78,7 @@ function cm.eqop1(e,tp,eg,ep,ev,re,r,rp)
e:SetLabelObject(tc) e:SetLabelObject(tc)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE) e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_EQUIP_LIMIT) e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetLabelObject(c) e1:SetLabelObject(c)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -37,14 +37,22 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,14 +37,22 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,5) local g=Duel.GetDecktopGroup(tp,5)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local add=g:Select(tp,1,1,nil) local rc=g:FilterSelect(tp,Card.IsAbleToRemove,1,1,nil):GetFirst()
if add:GetFirst():IsAbleToHand() then local fid=c:GetFieldID()
Duel.SendtoHand(add,nil,REASON_EFFECT) if rc and Duel.Remove(rc,POS_FACEDOWN,REASON_EFFECT)>0 and e:IsHasType(EFFECT_TYPE_IGNITION) then
Duel.ConfirmCards(1-tp,add) Duel.ShuffleDeck(tp)
Duel.ShuffleHand(tp) rc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,0,2,fid)
else local e1=Effect.CreateEffect(c)
Duel.SendtoGrave(add,REASON_EFFECT) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,2)
e1:SetLabel(fid,0)
e1:SetLabelObject(rc)
e1:SetCondition(cm.thcon)
e1:SetOperation(cm.thop)
Duel.RegisterEffect(e1,tp)
end end
Duel.BreakEffect() Duel.BreakEffect()
local back=Duel.GetDecktopGroup(tp,1) local back=Duel.GetDecktopGroup(tp,1)
...@@ -62,6 +70,23 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,6 +70,23 @@ function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
local fid=e:GetLabel()
local tc=e:GetLabelObject()
return Duel.GetTurnPlayer()==tp and tc:GetFlagEffectLabel(m)==fid
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local fid,ct=e:GetLabel()
local tc=e:GetLabelObject()
ct=ct+1
e:GetHandler():SetTurnCounter(ct)
e:SetLabel(fid,ct)
if ct~=2 then return end
if tc:GetFlagEffectLabel(m)==fid then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
--attack up --attack up
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsRelateToBattle() return e:GetHandler():IsRelateToBattle()
......
...@@ -68,6 +68,12 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,6 +68,12 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e0:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e0)
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)
...@@ -84,7 +90,18 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,7 +90,18 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
e2:SetOwnerPlayer(tp) e2:SetOwnerPlayer(tp)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_ATTACK)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(cm.ftarget)
e3:SetLabel(tc:GetFieldID())
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end
function cm.ftarget(e,c)
return e:GetLabel()~=c:GetFieldID()
end end
\ No newline at end of file
...@@ -17,28 +17,25 @@ function cm.initial_effect(c) ...@@ -17,28 +17,25 @@ function cm.initial_effect(c)
e1:SetValue(1) e1:SetValue(1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
c:RegisterEffect(e3)
--SpecialSummon --SpecialSummon
local e4=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1)) e3:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e4:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_TO_GRAVE) e3:SetCode(EVENT_TO_GRAVE)
e4:SetCountLimit(1,m) e3:SetCountLimit(1,m)
e4:SetCondition(cm.regcon) e3:SetCondition(cm.regcon)
e4:SetTarget(cm.regtg) e3:SetTarget(cm.regtg)
e4:SetOperation(cm.regop) e3:SetOperation(cm.regop)
c:RegisterEffect(e4) c:RegisterEffect(e3)
end end
--SpecialSummon --SpecialSummon
function cm.cfilter(c,tp) function cm.cfilter(c,tp)
return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsSetCard(0x3ef9) and c:GetPreviousControler()==tp and c:GetControler()==tp and c:GetLocation(LOCATION_GRAVE) return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsSetCard(0x3ef9) and c:GetLocation(LOCATION_GRAVE) and c:GetReasonPlayer()==1-tp and c:IsPreviousControler(tp)
end end
function cm.regcon(e,tp,eg,ep,ev,re,r,rp) function cm.regcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp) return eg:IsExists(cm.cfilter,1,nil,tp)
......
...@@ -32,15 +32,6 @@ function cm.initial_effect(c) ...@@ -32,15 +32,6 @@ function cm.initial_effect(c)
e3:SetValue(cm.valcheck) e3:SetValue(cm.valcheck)
e3:SetLabelObject(e2) e3:SetLabelObject(e2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--indes
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.indcon)
e4:SetValue(cm.efilter)
c:RegisterEffect(e4)
--atk/def gain --atk/def gain
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
...@@ -130,7 +121,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -130,7 +121,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
--negate --negate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,2)) e1:SetDescription(aux.Stringid(m,2))
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY) e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
...@@ -141,32 +132,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -141,32 +132,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetTarget(cm.distg) e1:SetTarget(cm.distg)
e1:SetOperation(cm.disop) e1:SetOperation(cm.disop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
--atk 0
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,3))
e2:SetCategory(CATEGORY_RECOVER)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetHintTiming(TIMING_END_PHASE)
e2:SetCountLimit(1)
e2:SetTarget(cm.target0)
e2:SetOperation(cm.operation0)
c:RegisterEffect(e2,true)
c:RegisterFlagEffect(0,RESET_EVENT+0x1fe0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1)) c:RegisterFlagEffect(0,RESET_EVENT+0x1fe0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1))
end end
--negate --negate
function cm.discon(e,tp,eg,ep,ev,re,r,rp) function cm.discon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) and ep==1-tp
end
function cm.costfilter(c)
return c:IsSetCard(0x3ef9) and c:IsType(TYPE_MONSTER)
end end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,cm.costfilter,1,REASON_COST,true,nil) end local c=e:GetHandler()
local g=Duel.SelectReleaseGroupEx(tp,cm.costfilter,1,1,REASON_COST,true,nil) if chk==0 then return c:IsAbleToExtraAsCost() end
Duel.Release(g,REASON_COST) Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST)
end end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -175,58 +150,47 @@ function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -175,58 +150,47 @@ function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end end
end end
function cm.spfilter(c,e,tp)
return c:IsCode(96010040) and c:IsCanBeSpecialSummoned(e,0,tp,t,false)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp) function cm.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp):GetFirst()
if Duel.SpecialSummonStep(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(cm.efilter)
tc:RegisterEffect(e3)
end
Duel.SpecialSummonComplete()
end end
end end
--atk 0 function cm.efilter(e,te)
function cm.filter(c) if not te:IsActiveType(TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP) then return false end
return c:IsFaceup() and c:GetAttack()>0
end
function cm.target0(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and cm.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,cm.filter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,g:GetFirst():GetBaseAttack())
end
function cm.operation0(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local ec=te:GetHandler()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:GetAttack()>0 and not tc:IsImmuneToEffect(e) then if ec:IsHasCardTarget(c) then return true end
local e1=Effect.CreateEffect(c) return te:IsHasType(EFFECT_TYPE_ACTIONS) and te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) and c:IsRelateToEffect(te)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
Duel.Recover(tp,tc:GetBaseAttack(),REASON_EFFECT)
end
if c:IsRelateToEffect(e) then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_CHANGE_INVOLVING_BATTLE_DAMAGE)
e2:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2)
end
end
--indes
function cm.indcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010052)
and Duel.IsExistingMatchingCard(Card.IsAttribute,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_DARK)
end
function cm.efilter(e,re,rp,c)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
return not g or not g:IsContains(c)
end end
--atk/def gain --atk/def gain
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010052) return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010052)
and Duel.IsExistingMatchingCard(Card.IsAttribute,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_WIND)
end end
function cm.value1(e,c) function cm.value1(e,c)
return Duel.GetFieldGroupCount(c:GetControler(),LOCATION_GRAVE,LOCATION_GRAVE,nil,TYPE_SPELL)*100 return Duel.GetFieldGroupCount(c:GetControler(),LOCATION_GRAVE,LOCATION_GRAVE,nil,TYPE_SPELL)*100
......
...@@ -32,23 +32,19 @@ function cm.initial_effect(c) ...@@ -32,23 +32,19 @@ function cm.initial_effect(c)
e3:SetValue(cm.valcheck) e3:SetValue(cm.valcheck)
e3:SetLabelObject(e2) e3:SetLabelObject(e2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--recover --atk up
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_RECOVER) e4:SetDescription(aux.Stringid(m,4))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e4:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DESTROY)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_BATTLE_DAMAGE) e4:SetCode(EVENT_CHAINING)
e4:SetCondition(cm.recon) e4:SetRange(LOCATION_MZONE)
e4:SetTarget(cm.retg) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e4:SetOperation(cm.reop) e4:SetCountLimit(1)
e4:SetCondition(cm.discon)
e4:SetTarget(cm.distg)
e4:SetOperation(cm.disop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--pierce
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_PIERCE)
e5:SetValue(DOUBLE_DAMAGE)
e5:SetCondition(cm.picon)
c:RegisterEffect(e5)
end end
--destroy --destroy
function cm.dstg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.dstg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -88,19 +84,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -88,19 +84,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetTarget(cm.destg) e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop) e1:SetOperation(cm.desop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
--atk up
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,4))
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCountLimit(1)
e2:SetCondition(cm.discon)
e2:SetTarget(cm.distg)
e2:SetOperation(cm.disop)
c:RegisterEffect(e2,true)
c:RegisterFlagEffect(0,RESET_EVENT+0x1fe0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1)) c:RegisterFlagEffect(0,RESET_EVENT+0x1fe0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1))
end end
--Leave Field --Leave Field
...@@ -141,7 +124,7 @@ function cm.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -141,7 +124,7 @@ function cm.discon(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetCurrentChain() local ct=Duel.GetCurrentChain()
if ct<2 then return end if ct<2 then return end
local te,p=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER) local te,p=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
return te and te:GetHandler():IsOnField() and te:GetHandler():GetOriginalType()&TYPE_MONSTER~=0 and p==tp and rp==1-tp return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010053) and te and te:GetHandler():IsOnField() and te:GetHandler():GetOriginalType()&TYPE_MONSTER~=0 and p==tp and rp==1-tp and not c:IsCode(m)
end end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -177,23 +160,3 @@ end ...@@ -177,23 +160,3 @@ end
function cm.efilter(e,re) function cm.efilter(e,re)
return re==e:GetLabelObject() return re==e:GetLabelObject()
end end
--recover
function cm.recon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and Duel.GetAttackTarget()~=nil and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010053)
and Duel.IsExistingMatchingCard(Card.IsAttribute,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_LIGHT)
end
function cm.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(ev)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,0,0,tp,ev)
end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end
--pierce
function cm.picon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010053)
and Duel.IsExistingMatchingCard(Card.IsAttribute,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_FIRE)
end
\ No newline at end of file
...@@ -40,17 +40,17 @@ function cm.initial_effect(c) ...@@ -40,17 +40,17 @@ function cm.initial_effect(c)
e4:SetValue(cm.atkval) e4:SetValue(cm.atkval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--base atk --base atk
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_ATTACK_ANNOUNCE) e5:SetCode(EVENT_ATTACK_ANNOUNCE)
e4:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(cm.atkcon) e5:SetCondition(cm.atkcon)
e4:SetOperation(cm.atkop) e5:SetOperation(cm.atkop)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EVENT_BE_BATTLE_TARGET)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EVENT_BE_BATTLE_TARGET)
c:RegisterEffect(e6)
end end
--atk dowm --atk dowm
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
...@@ -86,19 +86,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,19 +86,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetCondition(cm.actcon) e1:SetCondition(cm.actcon)
e1:SetOperation(cm.actop) e1:SetOperation(cm.actop)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
--disable special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,3))
e2:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_SPSUMMON)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(cm.discon)
e2:SetCost(cm.discost)
e2:SetTarget(cm.distg)
e2:SetOperation(cm.disop)
c:RegisterEffect(e2,true)
c:RegisterFlagEffect(0,RESET_EVENT+0x1fe0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1)) c:RegisterFlagEffect(0,RESET_EVENT+0x1fe0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1))
end end
--act limit --act limit
...@@ -123,31 +110,9 @@ end ...@@ -123,31 +110,9 @@ end
function cm.chainlm(e,rp,tp) function cm.chainlm(e,rp,tp)
return tp==rp return tp==rp
end end
--disable special summon
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
return tp~=ep and Duel.GetCurrentChain()==0
end
function cm.costfilter(c)
return c:IsSetCard(0x3ef9) and c:IsType(TYPE_MONSTER)
end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,cm.costfilter,1,REASON_COST,true,nil) end
local g=Duel.SelectReleaseGroupEx(tp,cm.costfilter,1,1,REASON_COST,true,nil)
Duel.Release(g,REASON_COST)
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,eg:GetCount(),0,0)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateSummon(eg)
Duel.Destroy(eg,REASON_EFFECT)
end
--atk --atk
function cm.adcon(e,tp,eg,ep,ev,re,r,rp) function cm.adcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010054) return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010054)
and Duel.IsExistingMatchingCard(Card.IsAttribute,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_EARTH)
end end
function cm.atkval(e,c) function cm.atkval(e,c)
return c:GetBaseAttack()*2 return c:GetBaseAttack()*2
...@@ -156,7 +121,6 @@ end ...@@ -156,7 +121,6 @@ end
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp) function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return (c==Duel.GetAttacker() or c==Duel.GetAttackTarget()) and c:GetBattleTarget() and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010054) return (c==Duel.GetAttacker() or c==Duel.GetAttackTarget()) and c:GetBattleTarget() and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,96010054)
and Duel.IsExistingMatchingCard(Card.IsAttribute,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_WATER)
end end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp) function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
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