Commit 491fa87b authored by Tachibana's avatar Tachibana

得得得得得

parent ad3a14da
Pipeline #13433 passed with stage
in 9 minutes and 10 seconds
...@@ -11,15 +11,6 @@ ...@@ -11,15 +11,6 @@
4223309 4223309
4223310 4223310
4223311 4223311
4231200
4231201
4231202
4231203
4231204
4231205
4231206
4231207
4231208
12002501 12002501
12002511 12002511
12002512 12002512
...@@ -54,8 +45,6 @@ ...@@ -54,8 +45,6 @@
14700052 14700052
#extra #extra
1184015 1184015
4231209
4231210
12002520 12002520
12002521 12002521
12002522 12002522
......
No preview for this file type
--天使的心跳3P降临到我身边!
local m=4231200
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetCategory",CATEGORY_SUMMON)
.e("SetType",EFFECT_TYPE_ACTIVATE)
.e("SetCode",EVENT_FREE_CHAIN)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE end)
.e("SetCost",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,1)
e1:SetValue(1)
e1:SetReset(RESET_PHASE+PHASE_BATTLE,1)
Duel.RegisterEffect(e1,tp) end)
.e("SetTarget",function (e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.GetLocationCount(tp,LOCATION_MZONE)>2 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,3,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,3,0,0)
if Duel.GetTurnPlayer()==tp then end end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<3 then return end
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,nil,e,tp)
if g:GetCount()<3 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,3,3,nil)
local tc=sg:GetFirst()
while tc do
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(tc:GetAttack()*2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(1)
tc:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetValue(1)
tc:RegisterEffect(e3)
local e11=Effect.CreateEffect(e:GetHandler())
e11:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e11:SetCode(EVENT_PHASE+PHASE_BATTLE)
e11:SetCountLimit(1)
e11:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e11:SetLabel(fid)
e11:SetLabelObject(tc)
e11:SetCondition(function(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)
e11:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(e:GetLabelObject(),nil,2,REASON_EFFECT)
end)
Duel.RegisterEffect(e11,tp)
tc=sg:GetNext()
end
Duel.SpecialSummonComplete() end)
.Return())
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0xa29) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),math.pow(2,id-1))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
--天降奏百二十三式·星羽
local m=4231201
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_TOHAND+CATEGORY_SEARCH)
.e("SetType",EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
.e("SetCode",EVENT_SUMMON_SUCCESS)
.e("SetProperty",EFFECT_FLAG_DELAY)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,1) and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
--cant chain as effect include spsummon
Duel.SetChainLimit(function(e,ep,tp) return not(ep~=tp and e:IsHasCategory(CATEGORY_SPECIAL_SUMMON)) end) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
Duel.SendtoHand(e:GetHandler():GetColumnGroup(),nil,REASON_EFFECT)
end end)
.Clone("RegisterEffect")
.e("SetCode",EVENT_SPSUMMON_SUCCESS)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
.e("SetProperty",EFFECT_FLAG_DELAY)
.e("SetCode",EVENT_TO_GRAVE)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,2) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
if Duel.GetFieldGroupCount(tp,LOCATION_GRAVE,LOCATION_GRAVE)>0 then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,PLAYER_ALL,LOCATION_GRAVE)
end
--cant chain as effect include spsummon
Duel.SetChainLimit(function(e,ep,tp) return not(ep~=tp and e:IsHasCategory(CATEGORY_SPECIAL_SUMMON)) end) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end)
.Return())
end
function cm.thfilter(c)
return c:IsSetCard(0xa29) and c:IsAbleToHand()
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0xa29) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
--天降奏兔四十八式·雪莲
local m=4231202
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetType",EFFECT_TYPE_SINGLE)
.e("SetCode",EFFECT_IMMUNE_EFFECT)
.e("SetProperty",EFFECT_FLAG_SINGLE_RANGE)
.e("SetRange",LOCATION_MZONE)
.e("SetValue",function(e,te)
return te:IsHasCategory(CATEGORY_SPECIAL_SUMMON) end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_TOHAND)
.e("SetType",EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
.e("SetCode",EVENT_SUMMON_SUCCESS)
.e("SetProperty",EFFECT_FLAG_DELAY)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,1) and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
local colg = e:GetHandler():GetColumnGroup()
if colg:GetCount()>0 then
local sg = colg:Filter(Card.IsFaceup,nil)
local tc=sg:GetFirst()
while tc do
tc:GetTextAttack()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
tc=sg:GetNext()
end
end
end end)
.Clone("RegisterEffect")
.e("SetCode",EVENT_SPSUMMON_SUCCESS)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
.e("SetProperty",EFFECT_FLAG_DELAY)
.e("SetCode",EVENT_TO_HAND)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return iCount(0,tp,m,2) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end)
.Return())
end
function cm.thfilter(c)
return c:IsSetCard(0xa29) and c:IsAbleToHand()
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0xa29) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
--天降奏核心百四式·融解
local m=4231203
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_DECKDES)
.e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN)
.e("SetHintTiming",0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
.e("SetProperty",EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
.e("SetRange",LOCATION_MZONE)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end)
.e("SetCost",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return iCount(0,tp,m,1) and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp,ft) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp,ft)
local tc=g:GetFirst()
if tc then
if ft>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false) and (not tc:IsAbleToHand() or Duel.SelectOption(tp,1190,1152)==1) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
else
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN)
.e("SetRange",LOCATION_HAND+LOCATION_GRAVE)
.e("SetHintTiming",0,TIMING_END_PHASE+TIMINGS_CHECK_MONSTER)
.e("SetProperty",EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
.e("SetCost",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,3) end
Duel.DiscardDeck(tp,3,REASON_COST)end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,2) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP) end)
.Return())
end
function cm.filter(c,e,tp,ft)
return c:IsSetCard(0xa29) and not c:IsCode(m) and c:IsType(TYPE_MONSTER) and (c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
--天降奏剑百十一式·斩铁
local m=4231204
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetCategory",CATEGORY_ATKCHANGE)
.e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN)
.e("SetHintTiming",0,TIMING_END_PHASE+TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
.e("SetRange",LOCATION_HAND)
.e("SetCost",function(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,1) and Duel.IsExistingMatchingCard(cm.atkfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
--cant chain as effect include spsummon
Duel.SetChainLimit(function(e,ep,tp) return not(ep~=tp and e:IsHasCategory(CATEGORY_SPECIAL_SUMMON)) end) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local g = Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,nil)
local tc=g:GetFirst()
if tc then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(2000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetValue(function(e,re) return e:GetOwnerPlayer()~=re:GetOwnerPlayer() end)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e4:SetOwnerPlayer(tp)
tc:RegisterEffect(e4)
end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
.e("SetType",EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
.e("SetCode",EVENT_SPSUMMON_SUCCESS)
.e("SetProperty",EFFECT_FLAG_DELAY)
.e("SetRange",LOCATION_GRAVE)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,tp) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,2) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
--cant chain as effect include spsummon
Duel.SetChainLimit(function(e,ep,tp) return not(ep~=tp and e:IsHasCategory(CATEGORY_SPECIAL_SUMMON)) end) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0
end end)
.Return())
end
function cm.filter(c)
return c:IsSetCard(0xa29) and c:IsType(TYPE_MONSTER)
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
--天降奏致静九十式·仁义
local m=4231205
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetType",EFFECT_TYPE_SINGLE)
.e("SetCode",EFFECT_IMMUNE_EFFECT)
.e("SetProperty",EFFECT_FLAG_SINGLE_RANGE)
.e("SetRange",LOCATION_MZONE)
.e("SetValue",function(e,te)
return te:IsHasCategory(CATEGORY_SPECIAL_SUMMON) end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
.e("SetCode",EVENT_SPSUMMON_SUCCESS)
.e("SetProperty",EFFECT_FLAG_DELAY)
.e("SetRange",LOCATION_HAND)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,tp) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,1) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
if Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
.e("SetCode",EVENT_LEAVE_FIELD)
.e("SetProperty",EFFECT_FLAG_DELAY)
.e("SetRange",LOCATION_GRAVE)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,tp) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,2) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) end)
.Return())
end
function cm.filter(c,e,tp)
return c:IsSetCard(0xa29) and c:IsType(TYPE_MONSTER)
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0xa29) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
--天降奏百二十四式·毒咬
local m=4231206
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN)
.e("SetHintTiming",0,TIMING_END_PHASE)
.e("SetProperty",EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
.e("SetRange",LOCATION_HAND)
.e("SetCost",function(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ft,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,ft,tp)
Duel.SendtoHand(g,nil,REASON_COST) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,1) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local colg = e:GetHandler():GetColumnGroup()
if colg:GetCount()>0 then
local sg = colg:Filter(Card.IsFaceup,nil)
local tc=sg:GetFirst()
while tc do
tc:GetTextAttack()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(math.ceil(tc:GetAttack()/2))
tc:RegisterEffect(e1)
tc=sg:GetNext()
end
end
end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_TOHAND+CATEGORY_SEARCH)
.e("SetType",EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
.e("SetCode",EVENT_SPSUMMON_SUCCESS)
.e("SetProperty",EFFECT_FLAG_DELAY+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,2) and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
local atk = g:GetFirst():GetTextAttack()
atk=(atk >=0 and {atk} or {0})[1]
if Duel.SendtoGrave(g,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(function(c,a) return c:IsFaceup() and c:GetAttack()>atk end,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,atk) then
if Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(m,1)) then
local tc = Duel.SelectMatchingCard(tp,function(c,a) return c:IsFaceup() and c:GetAttack()>a end,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,atk):GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
end
end end)
.Return())
end
function cm.cfilter(c,ft,tp)
return c:IsFaceup() and c:IsAbleToHandAsCost() and c:IsSetCard(0xa29) and c:IsType(TYPE_MONSTER) and (ft>0 or c:GetSequence()<5) and (c:IsControler(tp) or (c:IsControler(1-tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0))
end
function cm.tgfilter(c)
return c:IsSetCard(0xa29) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
--天降奏临八十三式·赠礼
local m=4231207
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_FREE_CHAIN)
.e("SetHintTiming",0,TIMING_END_PHASE)
.e("SetRange",LOCATION_MZONE)
.e("SetCost",function(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToHandAsCost() end
Duel.SendtoHand(c,nil,REASON_COST)
Duel.ConfirmCards(1-tp,c) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,1) and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g then
if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
local colg = g:GetFirst():GetColumnGroup()
if colg:GetCount()>0 then
local sg = colg:Filter(Card.IsFaceup,nil)
local tc=sg:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
tc=sg:GetNext()
end
end
end
end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,1))
.e("SetCategory",CATEGORY_DISABLE)
.e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_CHAINING)
.e("SetProperty",EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
.e("SetRange",LOCATION_HAND)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetCurrentChain()
if ct<2 then return end
local te,p=Duel.GetChainInfo(ct-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
return te and te:GetHandler():IsSetCard(0xa29) and re:GetHandler():IsType(TYPE_SPELL+TYPE_TRAP) and Duel.IsChainDisablable(ev) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return iCount(0,tp,m,2) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and Duel.Destroy(eg,REASON_EFFECT)>0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
end end)
.Return()).c("RegisterEffect",iFunc(c)
--activate cost
.e("SetType",EFFECT_TYPE_FIELD)
.e("SetCode",EFFECT_ACTIVATE_COST)
.e("SetRange",LOCATION_HAND+LOCATION_GRAVE+LOCATION_ONFIELD)
.e("SetProperty",EFFECT_FLAG_PLAYER_TARGET)
.e("SetTargetRange",0,1)
.e("SetCondition",function(e,te,tp)
local ct=Duel.GetCurrentChain()
if ct<1 then return end
local rete,p=Duel.GetChainInfo(ct-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
return te and rete:GetHandler() == e:GetHandler() and p==1-tp end)
.e("SetCost",function(e,te_or_c,tp)
local ct=Duel.GetFlagEffect(tp,m)
return Duel.CheckLPCost(tp,ct*500)end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,500) end)
.Return()).c("RegisterEffect",iFunc(c)
--accumulate
.e("SetType",EFFECT_TYPE_FIELD)
.e("SetCode",0x10000000+m)
.e("SetRange",LOCATION_HAND+LOCATION_GRAVE+LOCATION_ONFIELD)
.e("SetProperty",EFFECT_FLAG_PLAYER_TARGET)
.e("SetTargetRange",0,1)
.Return())
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0xa29) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
--天降奏萌五十三式·点燃
local m=4231208
local cm=_G["c"..m]
function cm.initial_effect(c)
iFunc(c).c("RegisterEffect",iFunc(c)
--end battle phase
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
.e("SetCode",EVENT_ATTACK_ANNOUNCE)
.e("SetRange",LOCATION_HAND)
.e("SetCost",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,Duel.GetAttacker():GetAttack()/2) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local at=Duel.GetAttacker()
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.Damage(1-tp,at:GetAttack()/2,REASON_EFFECT) then
Duel.SendtoHand(at,nil,REASON_EFFECT)
Duel.ConfirmCards(PLAYER_ALL,at)
end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,1))
.e("SetCategory",CATEGORY_TOHAND)
.e("SetType",EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
.e("SetCode",EVENT_LEAVE_FIELD)
.e("SetProperty",EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
.e("SetRange",LOCATION_GRAVE)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp,rp) and not eg:IsContains(e:GetHandler()) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,e:GetHandler())
end end)
.Return()).c("RegisterEffect",iFunc(c)
--activate cost
.e("SetType",EFFECT_TYPE_FIELD)
.e("SetCode",EFFECT_ACTIVATE_COST)
.e("SetRange",LOCATION_HAND+LOCATION_GRAVE+LOCATION_ONFIELD)
.e("SetProperty",EFFECT_FLAG_PLAYER_TARGET)
.e("SetTargetRange",0,1)
.e("SetCondition",function(e,te,tp)
local ct=Duel.GetCurrentChain()
if ct<1 then return end
local rete,p=Duel.GetChainInfo(ct-1,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
return te and rete:GetHandler() == e:GetHandler() and p==1-tp end)
.e("SetCost",function(e,te_or_c,tp)
local ct=Duel.GetFlagEffect(tp,m)
return Duel.CheckLPCost(tp,ct*500)end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,500) end)
.Return()).c("RegisterEffect",iFunc(c)
--accumulate
.e("SetType",EFFECT_TYPE_FIELD)
.e("SetCode",0x10000000+m)
.e("SetRange",LOCATION_HAND+LOCATION_GRAVE+LOCATION_ONFIELD)
.e("SetProperty",EFFECT_FLAG_PLAYER_TARGET)
.e("SetTargetRange",0,1)
.Return())
end
function cm.cfilter(c,tp,rp)
return (c:IsSetCard(0xa29) and c:IsType(TYPE_MONSTER) and c:IsReason(REASON_BATTLE)) or (c:GetReasonPlayer()==1-tp and c:IsReason(REASON_EFFECT))
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
--天降奏缎带·白翼炎天使
local m=4231209
local cm=_G["c"..m]
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,function(c) return c:IsRace(RACE_FAIRY) and c:IsAttribute(ATTRIBUTE_FIRE) end,aux.NonTuner(nil),1)
c:EnableReviveLimit()
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,0))
.e("SetCategory",CATEGORY_REMOVE+CATEGORY_DAMAGE)
.e("SetType",EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
.e("SetProperty",EFFECT_FLAG_DELAY)
.e("SetCode",EVENT_TO_HAND)
.e("SetRange",LOCATION_MZONE)
.e("SetCountLimit",1)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp) and bit.band(r,REASON_EFFECT)~=0 end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(1000)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1000)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,0,0)
end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,1))
.e("SetCategory",CATEGORY_NEGATE+CATEGORY_REMOVE)
.e("SetProperty",EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
.e("SetType",EFFECT_TYPE_QUICK_O)
.e("SetCode",EVENT_CHAINING)
.e("SetRange",LOCATION_MZONE)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return re:GetActivateLocation()==LOCATION_GRAVE and re:GetHandler():IsType(TYPE_MONSTER) and Duel.IsChainNegatable(ev) and rp==1-tp end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,1) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,nil) and e:GetHandler():IsAbleToRemove() end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,0,1-tp,LOCATION_GRAVE) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
local g = Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,3,nil)
if g then
g:AddCard(g,e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,2))
.e("SetCategory",CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
.e("SetType",EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
.e("SetRange",LOCATION_REMOVED)
.e("SetProperty",EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
.e("SetCode",EVENT_SPSUMMON_SUCCESS)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(function(c,tp)return c:GetSummonPlayer()==1-tp and c:IsPreviousLocation(LOCATION_HAND)end,1,nil,tp) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return iCount(0,tp,m,2) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(cm.desfilter,nil,e,tp)
if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
end end)
.Return())
end
function cm.desfilter(c,e,tp)
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsSummonPlayer(1-tp)
end
function cm.cfilter(c,tp)
return c:IsReason(REASON_EFFECT) and c:IsControler(1-tp)
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
--天降奏权杖·白翼圣天使
local m=4231210
local cm=_G["c"..m]
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,function(c) return c:IsRace(RACE_FAIRY) end,aux.NonTuner(nil),1)
c:EnableReviveLimit()
iFunc(c).c("RegisterEffect",iFunc(c)
.e("SetType",EFFECT_TYPE_FIELD)
.e("SetCode",EFFECT_INDESTRUCTABLE_COUNT)
.e("SetRange",LOCATION_MZONE)
.e("SetTargetRange",LOCATION_MZONE,0)
.e("SetTarget",function(e,c)return c:IsSetCard(0x128) end)
.e("SetValue",function(e,re,r,rp) if bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0 then return 1 else return 0 end end)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetType",EFFECT_TYPE_FIELD)
.e("SetProperty",EFFECT_FLAG_PLAYER_TARGET)
.e("SetRange",LOCATION_MZONE)
.e("SetCode",EFFECT_SPSUMMON_COUNT_LIMIT)
.e("SetTargetRange",1,1)
.e("SetTarget",function(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLocation(LOCATION_DECK+LOCATION_GRAVE) end)
.e("SetValue",1)
.Return()).c("RegisterEffect",iFunc(c)
.e("SetDescription",aux.Stringid(m,1))
.e("SetType",EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
.e("SetProperty",EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
.e("SetCategory",CATEGORY_SPECIAL_SUMMON)
.e("SetCode",EVENT_LEAVE_FIELD)
.e("SetCountLimit",1,m)
.e("SetCondition",function(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP) and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) end)
.e("SetTarget",function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0) end)
.e("SetOperation",function(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end)
.Return())
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0xa29) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and not c:IsCode(m)
end
function iCount(name,tp,m,id)
return ((name=="get" or name=="set")
and {(name=="get"
and {tonumber(((Duel.GetFlagEffect(tp,m)==nil) and {0} or {Duel.GetFlagEffect(tp,m)})[1])}
or { Debug.Message("","请使用Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)") })[1]}
or {(bit.band(iCount("get",tp,m,id),(2^(id-1)))==0 and {true} or {false})[1]})[1]
end
function iFunc(c,x)
local __this = (aux.GetValueType(c) == "Card" and {(x == nil and {Effect.CreateEffect(c)} or {x})[1]} or {x})[1]
local fe = function(name,...) if name =="RegisterEffect" then c:RegisterEffect(__this:Clone()) else (type(__this[name])=="function" and {__this[name]} or {""})[1](__this,...) end return iFunc(c,__this) end
local fc = function(name,...) this = (type(c[name])=="function" and {c[name]} or {""})[1](c,...) return iFunc(c,c) end
local func ={e = fe,Clone = fe,c = fc,g = fc,v = function() return this end,Return = function() return __this:Clone() end}
return func
end
\ No newline at end of file
...@@ -74,7 +74,6 @@ ...@@ -74,7 +74,6 @@
!setname 0xa25 工作室 !setname 0xa25 工作室
!setname 0xa26 手冲魔女 !setname 0xa26 手冲魔女
!setname 0x1a26 手冲魔女术式 !setname 0x1a26 手冲魔女术式
!setname 0xa29 天降奏
!setname 0xa2a 元素塔罗使 !setname 0xa2a 元素塔罗使
!setname 0x1a2c 【合理体】 !setname 0x1a2c 【合理体】
!setname 0x2a2c 莉昂 !setname 0x2a2c 莉昂
......
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