Commit e9f3e85b authored by Nemo Ma's avatar Nemo Ma

240602 STD

parent 743672c8
No preview for this file type
expansions/pics/11561049.jpg

16.1 KB | W: | H:

expansions/pics/11561049.jpg

58.9 KB | W: | H:

expansions/pics/11561049.jpg
expansions/pics/11561049.jpg
expansions/pics/11561049.jpg
expansions/pics/11561049.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/21070004.jpg

17.7 KB | W: | H:

expansions/pics/21070004.jpg

17.9 KB | W: | H:

expansions/pics/21070004.jpg
expansions/pics/21070004.jpg
expansions/pics/21070004.jpg
expansions/pics/21070004.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910645.jpg

51.4 KB | W: | H:

expansions/pics/9910645.jpg

52.6 KB | W: | H:

expansions/pics/9910645.jpg
expansions/pics/9910645.jpg
expansions/pics/9910645.jpg
expansions/pics/9910645.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910651.jpg

45.3 KB | W: | H:

expansions/pics/9910651.jpg

45.4 KB | W: | H:

expansions/pics/9910651.jpg
expansions/pics/9910651.jpg
expansions/pics/9910651.jpg
expansions/pics/9910651.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910661.jpg

11.9 KB | W: | H:

expansions/pics/9910661.jpg

54.7 KB | W: | H:

expansions/pics/9910661.jpg
expansions/pics/9910661.jpg
expansions/pics/9910661.jpg
expansions/pics/9910661.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910663.jpg

51 KB | W: | H:

expansions/pics/9910663.jpg

51.7 KB | W: | H:

expansions/pics/9910663.jpg
expansions/pics/9910663.jpg
expansions/pics/9910663.jpg
expansions/pics/9910663.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910665.jpg

44 KB | W: | H:

expansions/pics/9910665.jpg

49.1 KB | W: | H:

expansions/pics/9910665.jpg
expansions/pics/9910665.jpg
expansions/pics/9910665.jpg
expansions/pics/9910665.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910668.jpg

46.8 KB | W: | H:

expansions/pics/9910668.jpg

49.8 KB | W: | H:

expansions/pics/9910668.jpg
expansions/pics/9910668.jpg
expansions/pics/9910668.jpg
expansions/pics/9910668.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910669.jpg

47.2 KB | W: | H:

expansions/pics/9910669.jpg

53 KB | W: | H:

expansions/pics/9910669.jpg
expansions/pics/9910669.jpg
expansions/pics/9910669.jpg
expansions/pics/9910669.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910670.jpg

45.8 KB | W: | H:

expansions/pics/9910670.jpg

45.9 KB | W: | H:

expansions/pics/9910670.jpg
expansions/pics/9910670.jpg
expansions/pics/9910670.jpg
expansions/pics/9910670.jpg
  • 2-up
  • Swipe
  • Onion skin
--枪鸣★交响 美空
local m=11561056
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableCounterPermit(0x1)
c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c11561056.mfilter,c11561056.xyzcheck,2,99)
--cou
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,11561056)
e1:SetCondition(c11561056.cdtcon)
e1:SetTarget(c11561056.cdttg)
e1:SetOperation(c11561056.cdtop)
c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c11561056.descon)
e2:SetTarget(c11561056.destg)
e2:SetOperation(c11561056.desop)
c:RegisterEffect(e2)
--Remove
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c11561056.remcon)
e3:SetTarget(c11561056.remtg)
e3:SetOperation(c11561056.remop)
c:RegisterEffect(e3)
--sida
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_DISABLE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c11561056.discon)
e4:SetTarget(c11561056.distg)
e4:SetOperation(c11561056.disop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE)
e5:SetCost(c11561056.wxcost)
e5:SetOperation(c11561056.wxop)
c:RegisterEffect(e5)
--move
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_CUSTOM+11561056)
e6:SetRange(LOCATION_MZONE)
e6:SetCondition(c11561056.movcon)
e6:SetOperation(c11561056.movop)
c:RegisterEffect(e6)
end
function c11561056.movcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(11591056)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c11561056.movop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SelectYesNo(tp,aux.Stringid(11561056,0)) then
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) end
end
function c11561056.wxcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x1,1,REASON_COST)
end
function c11561056.wxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--disable
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(0,LOCATION_ONFIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c11561056.distg2)
e1:SetReset(RESET_PHASE+PHASE_END,2)
c:RegisterEffect(e1)
c:RegisterFlagEffect(11591056,RESET_PHASE+PHASE_END,0,2)
end
function c11561056.distg2(e,c)
return (c:IsType(TYPE_MONSTER+TYPE_EFFECT) or c:IsType(TYPE_TRAP+TYPE_SPELL)) and e:GetHandler():GetColumnGroup():IsContains(c)
end
function c11561056.discon(e,tp,eg,ep,ev,re,r,rp)
return not re:GetHandler():IsLocation(0x16) and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev)
end
function c11561056.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(11581056)==0 end
e:GetHandler():RegisterFlagEffect(11581056,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(11581056,3))
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+11561056,e,0,0,0,0)
end
function c11561056.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function c11561056.remcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsRelateToEffect(re) and re:GetHandler():IsLocation(0x12) and re:IsActiveType(TYPE_MONSTER)
end
function c11561056.remtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(11571056)==0 and eg:GetFirst():IsAbleToRemove() end
e:GetHandler():RegisterFlagEffect(11571056,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(11581056,1))
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+11561056,e,0,0,0,0)
end
function c11561056.remop(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler():IsRelateToEffect(re) then
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end
end
function c11561056.descon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsRelateToEffect(re) and re:GetHandler():IsLocation(LOCATION_MZONE) and re:IsActiveType(TYPE_MONSTER)
end
function c11561056.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(11561056)==0 end
e:GetHandler():RegisterFlagEffect(11561056,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(11581056,2))
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
Duel.RaiseEvent(e:GetHandler(),EVENT_CUSTOM+11561056,e,0,0,0,0)
end
function c11561056.desop(e,tp,eg,ep,ev,re,r,rp)
if re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
function c11561056.mfilter(c)
return c:IsLevel(6)
end
function c11561056.xyzcheck(g)
return g:GetClassCount(Card.GetRace)==1
end
function c11561056.cdtcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c11561056.cdttg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local ct=c:GetOverlayCount()
if chk==0 then return c:GetOverlayCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,ct,0,0x1)
end
function c11561056.cdtop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local og=c:GetOverlayGroup()
if og:GetCount()==0 then return end
local ct=Duel.SendtoGrave(og,REASON_EFFECT)
if ct>0 then
c:AddCounter(0x1,ct)
end
end
end
--朱色皇威 伊利亚
local m=11561057
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableCounterPermit(0x1)
--link summon
aux.AddLinkProcedure(c,nil,2,5,c11561057.lcheck)
c:EnableReviveLimit()
--count
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c11561057.ctcon)
e1:SetTarget(c11561057.cttg)
e1:SetOperation(c11561057.ctop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(11561057,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC_G)
e2:SetRange(0xff)
e2:SetCondition(c11561057.clcon)
e2:SetOperation(c11561057.debug)
c:RegisterEffect(e2)
--d1
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e3:SetCost(c11561057.descost)
e3:SetTarget(c11561057.destg)
e3:SetOperation(c11561057.desop)
c:RegisterEffect(e3)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY+CATEGORY_DAMAGE+CATEGORY_COUNTER)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetCountLimit(1,11561057)
e4:SetCondition(c11561057.spcon)
e4:SetTarget(c11561057.sptg)
e4:SetOperation(c11561057.spop)
c:RegisterEffect(e4)
if not c11561057.global_check then
c11561057.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
ge1:SetCode(EFFECT_CANNOT_LOSE_KOISHI)
ge1:SetTargetRange(1,1)
ge1:SetCondition(c11561057.clcon)
ge1:SetValue(1)
Duel.RegisterEffect(ge1,0)
Duel.RegisterEffect(ge1,1)
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_ADJUST)
ge2:SetCondition(c11561057.lpcon)
ge2:SetOperation(c11561057.Lpop)
Duel.RegisterEffect(ge2,0)
Duel.RegisterEffect(ge2,1)
end
end
function c11561057.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return (c:IsPreviousPosition(POS_FACEUP) or c:IsFaceupEx()) and c:IsPreviousControler(tp)
and c:IsReason(REASON_EFFECT+REASON_BATTLE)
end
function c11561057.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,3000)
end
function c11561057.spop(e,tp,eg,ep,ev,re,r,rp,c)
local c=e:GetHandler()
Duel.Damage(tp,3000,REASON_EFFECT)
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local ct=math.floor(math.abs(Duel.GetLP(tp)-8000)/2000)
e:GetHandler():AddCounter(0x1,ct)
if Duel.GetLP(tp)<2001 then
Duel.BreakEffect()
local cg1=c:GetColumnGroup():Filter(Card.IsControler,nil,1-tp)
local cg2=Duel.GetMatchingGroup(c11561057.desfilther1,tp,0,LOCATION_MZONE,nil,e)
local off=1
local ops={}
local opval={}
local res
if #cg1>0 then
ops[off]=aux.Stringid(11561057,1)
opval[off-1]=1
off=off+1
end
if #cg2>0 then
ops[off]=aux.Stringid(11561057,2)
opval[off-1]=2
off=off+1
end
if off==1 then return end
local op=Duel.SelectOption(tp,table.unpack(ops))
if opval[op]==1 then
res=Duel.Destroy(cg,REASON_EFFECT)
elseif opval[op]==2 then
res=Duel.Destroy(cg,REASON_EFFECT)
end
local flag=Duel.GetFlagEffectLabel(tp,11561051)
local dun=res*500
if flag then
Duel.SetFlagEffectLabel(tp,11561051,flag+dun)
else
Duel.RegisterFlagEffect(tp,11561051,RESET_EVENT+RESETS_STANDARD,0,1,dun)
end
end
end
end
function c11561057.lkkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(0,15000694)~=0
end
function c11561057.descost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c11561057.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local cg1=c:GetColumnGroup():Filter(Card.IsControler,nil,1-tp)
local cg2=Duel.GetMatchingGroup(c11561057.desfilther1,tp,0,LOCATION_MZONE,nil,e)
local cg3=Duel.GetMatchingGroup(c11561057.desfilther1,tp,0,LOCATION_ONFIELD,nil,e)
-- Group.Merge(cg2,cg1)
local b1= #cg1>0 and Duel.IsCanRemoveCounter(tp,1,0,0x1,1,REASON_COST)
local b2= #cg2>0 and Duel.IsCanRemoveCounter(tp,1,0,0x1,2,REASON_COST)
local b3= #cg3>0 and Duel.IsCanRemoveCounter(tp,1,0,0x1,3,REASON_COST)
if chk==0 then
if e:GetLabel()~=1 then return false end
e:SetLabel(0)
return b1 or b2 or b3
end
e:SetLabel(0)
local off=1
local ops={}
if b1 then
ops[off]=1
off=off+1
end
if b2 then
ops[off]=2
off=off+1
end
if b3 then
ops[off]=3
off=off+1
end
local num
num=Duel.AnnounceNumber(tp,table.unpack(ops))
Duel.RemoveCounter(tp,1,0,0x1,num,REASON_COST)
e:SetLabel(num)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,0,1,0,0)
end
function c11561057.desfilther1(c,e)
local seq=c:GetSequence()
local sseq=e:GetHandler():GetSequence()
return (seq<5 and sseq<5 and math.abs(4-sseq-seq)<=1) or (seq<5 and sseq==5 and seq>1) or (seq<3 and sseq==6) or (seq==6 and sseq<3) or (seq==5 and sseq>1 and sseq<5)
end
function c11561057.desop(e,tp,eg,ep,ev,re,r,rp)
local at=e:GetLabel()
local c=e:GetHandler()
local res
if c:IsRelateToEffect(e) and at==1 then
local cg=c:GetColumnGroup():Filter(Card.IsControler,nil,1-tp)
if #cg==0 then return end
res=Duel.Destroy(cg,REASON_EFFECT)
elseif c:IsRelateToEffect(e) and at==2 then
local cg=Duel.GetMatchingGroup(c11561057.desfilther1,tp,0,LOCATION_MZONE,nil,e)
local cg2=c:GetColumnGroup():Filter(Card.IsControler,nil,1-tp)
-- Group.Merge(cg,cg2)
if #cg==0 then return end
res=Duel.Destroy(cg,REASON_EFFECT)
elseif c:IsRelateToEffect(e) and at==3 then
local cg=Duel.GetMatchingGroup(c11561057.desfilther1,tp,0,LOCATION_ONFIELD,nil,e)
if #cg==0 then return end
res=Duel.Destroy(cg,REASON_EFFECT) end
local flag=Duel.GetFlagEffectLabel(tp,11561051)
local dun=res*500
if flag then
Duel.SetFlagEffectLabel(tp,11561051,flag+dun)
else
Duel.RegisterFlagEffect(tp,11561051,RESET_EVENT+RESETS_STANDARD,0,1,dun)
end
end
function c11561057.debug(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
local flag=Duel.GetFlagEffectLabel(tp,11561051)
Debug.Message("护盾值"..flag)
end
function c11561057.clcon(e,tp,eg,ep,ev,re,r,rp)
local flag=Duel.GetFlagEffectLabel(tp,11561051)
return flag and flag>0
end
function c11561057.lpcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(tp)<=0
end
function c11561057.Lpop(e,tp,eg,ep,ev,re,r,rp)
local flag=Duel.GetFlagEffectLabel(tp,11561051)
if Duel.GetLP(tp)<=0 and flag then
if Duel.GetFlagEffectLabel(tp,11561051)>=2000 then
Duel.SetLP(tp,2000)
c:SetFlagEffectLabel(11561051,flag-2000)
elseif Duel.GetFlagEffectLabel(tp,11561051)<2000 then
Duel.SetLP(tp,flag)
Duel.SetFlagEffectLabel(tp,11561051,0)
end
end
end
function c11561057.lcheck(g,lc)
return g:IsExists(Card.IsLinkRace,1,nil,RACE_ZOMBIE+RACE_FIEND)
end
function c11561057.ctcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and e:GetHandler():GetMaterialCount()>0
end
function c11561057.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,e:GetHandler():GetMaterialCount(),0,0x1)
end
function c11561057.ctop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
e:GetHandler():AddCounter(0x1,e:GetHandler():GetMaterialCount())
end
end
--洗狩兔
local m=11561058
local cm=_G["c"..m]
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,11561058)
e1:SetCost(c11561058.cost)
e1:SetOperation(c11561058.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_HANDES+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,11561058)
e2:SetCondition(c11561058.xbcon)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c11561058.xbtg)
e2:SetOperation(c11561058.xbop)
c:RegisterEffect(e2)
if c11561058.counter==nil then
c11561058.counter=true
c11561058[0]=0
c11561058[1]=0
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e3:SetOperation(c11561058.resetcount)
Duel.RegisterEffect(e3,0)
end
end
function c11561058.resetcount(e,tp,eg,ep,ev,re,r,rp)
c11561058[0]=0
c11561058[1]=0
end
function c11561058.xbcon(e,tp,eg,ep,ev,re,r,rp)
return aux.exccon(e)
end
function c11561058.xbtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0
and Duel.IsExistingMatchingCard(nil,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
getmetatable(e:GetHandler()).announce_filter={TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_NOT}
local ac=Duel.AnnounceCard(tp,table.unpack(getmetatable(e:GetHandler()).announce_filter))
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
end
function c11561058.stfilter(c,ac)
return not c:IsCode(ac)
end
function c11561058.xbop(e,tp,eg,ep,ev,re,r,rp)
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local g=Duel.GetMatchingGroup(Card.IsCode,tp,0,LOCATION_HAND,nil,ac)
local ct
if g:GetCount()>0 then
ct=Duel.SendtoGrave(g,REASON_EFFECT+REASON_DISCARD)
c11561058[1-tp]=c11561058[1-tp]+ct
end
local bg=Duel.GetMatchingGroup(c11561058.stfilter,tp,0,LOCATION_HAND,nil,ac)
local bc=bg:GetCount()
while Duel.GetLP(tp)>2000 and bc>0 do
Duel.SetLP(tp,math.ceil(Duel.GetLP(tp)/2))
bc=bc-1
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCountLimit(1)
e1:SetOperation(c11561058.dr)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c11561058.dr(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(1-tp,c11561058[1-tp],REASON_EFFECT)
end
function c11561058.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() and e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c11561058.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_PUBLIC)
e1:SetTargetRange(LOCATION_HAND,LOCATION_HAND)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
--counter2
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(c11561058.regop)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetCondition(c11561058.damcon)
e3:SetOperation(c11561058.damop)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end
function c11561058.regop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(11561058,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET+RESET_CHAIN,0,1)
end
function c11561058.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetFlagEffect(11561058)~=0
end
function c11561058.damop(e,tp,eg,ep,ev,re,r,rp)
if bit.band(Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION),LOCATION_HAND)~=0 then
Duel.Hint(HINT_CARD,0,11561058)
Duel.Recover(ep,300,REASON_EFFECT) end
end
\ No newline at end of file
...@@ -88,15 +88,11 @@ end ...@@ -88,15 +88,11 @@ end
function s.spcfilter2(c,e,tp) function s.spcfilter2(c,e,tp)
return c:IsSetCard(0x9221) and c:IsAbleToDeckOrExtraAsCost() and c:IsFaceup() and Duel.IsExistingMatchingCard(s.spfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c) return c:IsSetCard(0x9221) and c:IsAbleToDeckOrExtraAsCost() and c:IsFaceup() and Duel.IsExistingMatchingCard(s.spfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c)
end end
function s.spfilter2(c,e,tp,v) function s.spfilter2(c,e,tp,tc)
local t=Auxiliary.GetValueType(v) local t=Auxiliary.GetValueType(v)
local lv=0 local lv=tc:GetLevel()
local tc=nil local code=tc:GetCode()
if t=='Card' then return c:IsSetCard(0x9221) and c:IsLevel(lv) and not c:IsCode(code) and Duel.GetLocationCountFromEx(tp,tp,tc,c)>0 and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
lv=v:GetLevel()
tc=v
else lv=v end
return c:IsSetCard(0x9221) and c:IsLevel(lv) and Duel.GetLocationCountFromEx(tp,tp,tc,c)>0 and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1) e:SetLabel(1)
...@@ -111,14 +107,14 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -111,14 +107,14 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local tc=Duel.SelectMatchingCard(tp,s.spcfilter2,tp,LOCATION_MZONE,0,1,1,e:GetHandler(),e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,s.spcfilter2,tp,LOCATION_MZONE,0,1,1,e:GetHandler(),e,tp):GetFirst()
e:SetLabel(tc:GetLevel()) e:SetLabelObject(tc)
Duel.SendtoDeck(tc,nil,2,REASON_COST) Duel.SendtoDeck(tc,nil,2,REASON_COST)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local lv=e:GetLabel() local tc=e:GetLabelObject()
if not lv then return end if not tc then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=Duel.SelectMatchingCard(tp,s.spfilter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,lv):GetFirst() local sc=Duel.SelectMatchingCard(tp,s.spfilter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc):GetFirst()
if not sc then return end if not sc then return end
Duel.SpecialSummon(sc,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(sc,0,tp,tp,true,false,POS_FACEUP)
end end
\ No newline at end of file
--厨师汇聚之处《81号餐厅》
local s,id,o=GetID()
function s.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1,id)
e2:SetCondition(s.setcon)
e2:SetTarget(s.settg)
e2:SetOperation(s.setop)
c:RegisterEffect(e2)
--add summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,2))
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(LOCATION_HAND+LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x9221))
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,3))
e4:SetCategory(CATEGORY_RECOVER)
e4:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_FIELD)
e4:SetCode(EVENT_BATTLE_DESTROYED)
e4:SetProperty(EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DAMAGE_STEP)
e4:SetRange(LOCATION_FZONE)
e4:SetCondition(s.paycon)
e4:SetTarget(s.paytg)
e4:SetOperation(s.payop)
c:RegisterEffect(e4)
end
function s.setfilter(c,tp,codes)
return c:IsSetCard(0xa221) and c:CheckUniqueOnField(tp) and not c:IsCode(table.unpack(codes))
end
function s.setcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsSetCard(0xa221)
end
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local codes={}
for i=1,ev do
local code=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_CODE)
table.insert(codes,code)
end
if chk==0 then return Duel.IsExistingMatchingCard(s.setfilter,tp,LOCATION_GRAVE,0,1,nil,tp,codes) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
end
function s.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local codes={}
for i=1,ev do
local code=Duel.GetChainInfo(i,CHAININFO_TRIGGERING_CODE)
table.insert(codes,code)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.setfilter),tp,LOCATION_GRAVE,0,1,1,nil,tp,codes):GetFirst()
if not tc then return end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_END)
e1:SetOperation(s.tgop)
e1:SetLabelObject(tc)
Duel.RegisterEffect(e1,tp)
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CHANGE_TYPE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
tc:RegisterEffect(e2)
end
function s.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffect(id)~=0 then
Duel.SendtoGrave(tc,nil,REASON_EFFECT)
end
e:Reset()
end
function s.payfilter(c,tp)
return c:IsSetCard(0x9221) and c:IsPreviousControler(tp) and bit.band(c:GetPreviousTypeOnField(),TYPE_FUSION+TYPE_MONSTER)==TYPE_FUSION+TYPE_MONSTER
end
function s.paycon(e,tp,eg,ep,ev,re,r,rp)
return eg:FilterCount(s.payfilter,nil,tp)==1
end
function s.paytg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local tc=eg:Filter(s.payfilter,nil,tp):GetFirst()
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,tc:GetPreviousDefenseOnField())
end
function s.payop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:Filter(s.payfilter,nil,tp):GetFirst()
Duel.PayLPCost(1-tp,tc:GetPreviousDefenseOnField())
Duel.Recover(tp,tc:GetPreviousDefenseOnField(),REASON_EFFECT)
end
\ No newline at end of file
--“客人,您这样我们很难办”
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetCondition(s.condition)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
local e01=e1:Clone()
e01:SetCode(EVENT_REMOVE)
c:RegisterEffect(e01)
end
function s.filter(c,tp)
return c:IsSetCard(0x9221) and c:IsPreviousLocation(LOCATION_MZONE)
and c:IsPreviousControler(tp) and bit.band(c:GetPreviousTypeOnField(),TYPE_FUSION+TYPE_MONSTER)==TYPE_FUSION+TYPE_MONSTER
end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.filter,1,nil,tp)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=eg:Filter(s.filter,nil,tp)
local num=g:GetSum(Card.GetPreviousAttackOnField)
local dnum=math.floor(num/1000)
local g=Duel.GetDecktopGroup(1-tp,dnum)
if chk==0 then return dnum>0 and g:FilterCount(Card.IsAbleToHand,nil)==dnum end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,dnum,1-tp,LOCATION_DECK)
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(s.filter,nil,tp)
local num=g:GetSum(Card.GetPreviousAttackOnField)
local dnum=math.floor(num/1000)
local g=Duel.GetDecktopGroup(1-tp,dnum)
if g:FilterCount(Card.IsAbleToHand,nil)==dnum then
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
\ No newline at end of file
--“这是今天的推荐料理”
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetDescription(aux.Stringid(id,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(aux.bfgcost)
e2:SetTarget(s.thtg)
e2:SetOperation(s.thop)
c:RegisterEffect(e2)
end
function s.filter(c)
return c:IsSetCard(0x9221) and c:IsFaceup() and c:IsType(TYPE_FUSION)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return s.filter(chkc) and chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc or not tc:IsRelateToEffect(e) or tc:IsFacedown() then return end
local c=e:GetHandler()
tc:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,2))
--must attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_MUST_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetTargetRange(0,LOCATION_MZONE)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_MUST_ATTACK_MONSTER)
e2:SetValue(s.atklimit)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_MZONE)
e3:SetValue(s.atklimit2)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
end
function s.atklimit(e,c)
return c==e:GetHandler()
end
function s.atklimit2(e,c)
return c~=e:GetHandler() and c:IsSetCard(0x9221) and c:GetControler()==e:GetHandlerPlayer()
end
function s.thfilter(c)
return c:IsSetCard(0xa221) and c:IsAbleToHand()
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,0,tp,LOCATION_GRAVE)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,2,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
...@@ -19,7 +19,6 @@ function s.initial_effect(c) ...@@ -19,7 +19,6 @@ function s.initial_effect(c)
e2:SetType(EVENT_FREE_CHAIN) e2:SetType(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,id+o) e2:SetCountLimit(1,id+o)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e1:SetCondition(s.condition1) e1:SetCondition(s.condition1)
e2:SetTarget(s.drtg) e2:SetTarget(s.drtg)
...@@ -72,7 +71,7 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +71,7 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp)
e7:SetReset(RESET_PHASE+PHASE_END) e7:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e7,tp) Duel.RegisterEffect(e7,tp)
end end
function s.splimit(e,c) function s.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not aux.IsCodeListed(c,21070001) return not aux.IsCodeListed(c,21070001)
end end
--==歼灭模式启动== --==歼灭模式启动==
local s,id,o=GetID()
function c21070004.initial_effect(c) function c21070004.initial_effect(c)
aux.AddCodeList(c,21070001) aux.AddCodeList(c,21070001)
--Activate --Activate
...@@ -6,14 +7,65 @@ function c21070004.initial_effect(c) ...@@ -6,14 +7,65 @@ function c21070004.initial_effect(c)
e1:SetDescription(aux.Stringid(21070004,0)) e1:SetDescription(aux.Stringid(21070004,0))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c21070004.target)
e1:SetOperation(c21070004.activate) e1:SetOperation(c21070004.activate)
e1:SetLabel(19403423)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(21070004,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,21070004)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c21070004.condition1)
e2:SetTarget(c21070004.drtg)
e2:SetOperation(c21070004.drop)
c:RegisterEffect(e2)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetTarget(c21070004.atfilter)
e4:SetValue(c21070004.efilter)
c:RegisterEffect(e4)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e3:SetCode(EFFECT_CANNOT_SSET)
e3:SetRange(LOCATION_SZONE)
e3:SetCondition(c21070004.setcon1)
e3:SetTarget(c21070004.settg)
e3:SetTargetRange(1,0)
c:RegisterEffect(e3)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetCode(EFFECT_UPDATE_ATTACK)
e7:SetRange(LOCATION_SZONE)
e7:SetTargetRange(LOCATION_MZONE,0)
e7:SetTarget(aux.TargetBoolFunction(Card.IsCode,21070001))
e7:SetValue(100)
c:RegisterEffect(e7)
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD)
e8:SetCode(EFFECT_EXTRA_ATTACK)
e8:SetRange(LOCATION_SZONE)
e8:SetTargetRange(LOCATION_MZONE,0)
e8:SetTarget(c21070004.atfilter)
e8:SetValue(2)
c:RegisterEffect(e8,tp)
if not c21070004.global_check then
c21070004.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SSET)
ge1:SetOperation(c21070004.checkop)
Duel.RegisterEffect(ge1,0)
end
end end
function c21070004.target(e,tp,eg,ep,ev,re,r,rp,chk) function c21070004.checkop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabel() if eg:IsExists(Card.IsPreviousLocation,1,nil,LOCATION_HAND) then
if chk==0 then return Duel.GetFlagEffect(tp,ct)==0 end Duel.RegisterFlagEffect(rp,21070004,RESET_PHASE+PHASE_END,0,1)
end
end end
function c21070004.activate(e,tp,eg,ep,ev,re,r,rp) function c21070004.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -22,6 +74,7 @@ function c21070004.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -22,6 +74,7 @@ function c21070004.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetCondition(c21070004.con)
e1:SetValue(c21070004.aclimit) e1:SetValue(c21070004.aclimit)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -29,36 +82,70 @@ function c21070004.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -29,36 +82,70 @@ function c21070004.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_DRAW_COUNT) e2:SetCode(EFFECT_DRAW_COUNT)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetValue(3) e2:SetValue(2)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_SET_SUMMON_COUNT_LIMIT) e3:SetCode(EFFECT_SET_SUMMON_COUNT_LIMIT)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,0) e3:SetTargetRange(1,0)
e3:SetValue(2^31-1) e3:SetValue(3)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
Duel.RegisterFlagEffect(tp,21070004,0,0,1) Duel.RegisterFlagEffect(tp,21070004,0,0,1)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) local e6=Effect.CreateEffect(c)
e4:SetCode(EFFECT_IMMUNE_EFFECT) e6:SetType(EFFECT_TYPE_FIELD)
e4:SetTargetRange(LOCATION_MZONE,0) e6:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTarget(c21070004.ptfilter) e6:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e4:SetValue(c21070004.efilter) e6:SetTarget(c21070004.splimit)
Duel.RegisterEffect(e4,tp) e6:SetTargetRange(1,0)
Duel.RegisterEffect(e6,tp)
end
function c21070004.con(e)
local ph=Duel.GetCurrentPhase()
return not ph~=PHASE_END
end end
function c21070004.efilter(e,te) function c21070004.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end end
function c21070004.ptfilter(e,c) function c21070004.atfilter(e,c)
return c:IsCode(21070001) return c:IsCode(21070001)
end end
function c21070004.aclimit(e,re,tp) function c21070004.aclimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) return re:IsActiveType(TYPE_MONSTER)
end end
function c21070004.setcon1(e)
return Duel.GetFlagEffect(e:GetHandlerPlayer(),21070004)>0
end
function c21070004.settg(e,c)
return c:IsLocation(LOCATION_HAND)
end
function c21070004.splimit(e,c)
return c:IsLocation(LOCATION_EXTRA)
end
function s.condition1(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil)
end
function s.cfilter(c,e,tp)
return c:IsCode(21070001) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLocation(LOCATION_GRAVE)
end
function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function s.drop(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,s.cfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--幻绮诞地领主 史莱姆仙后
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddFusionProcFun2(c,s.mfilter1,s.mfilter2,true)
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetCondition(s.regcon)
e0:SetOperation(s.regop)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_BATTLE_START)
e2:SetTarget(s.sptg)
e2:SetOperation(s.spop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_INACTIVATE)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(s.effectfilter)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_DISEFFECT)
e4:SetRange(LOCATION_MZONE)
e4:SetValue(s.effectfilter)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetOperation(s.zcop1)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e6:SetCode(EVENT_DESTROYED)
e6:SetOperation(s.zcop2)
c:RegisterEffect(e6)
end
function s.mfilter1(c)
return c:IsFusionSetCard(0x569) and c:IsFusionAttribute(ATTRIBUTE_WATER)
end
function s.mfilter2(c)
return c:IsFusionSetCard(0x5569)
end
function s.regcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(e:GetHandler():GetSummonType(),SUMMON_TYPE_LINK)==SUMMON_TYPE_LINK
end
function s.regop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTarget(s.splimit)
Duel.RegisterEffect(e1,tp)
end
function s.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsCode(id) and bit.band(sumtype,SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION
end
function s.spfilter(c,e,tp)
return c:IsFaceupEx() and c:IsRace(RACE_AQUA) and c:IsSetCard(0x5569) and c:IsLevelBelow(6) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_REMOVED)
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(800)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,800)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_DECK+LOCATION_REMOVED,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
end
function s.effectfilter(e,ct)
local p=e:GetHandler():GetControler()
local te,tp,loc=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TRIGGERING_LOCATION)
return p==tp and te:GetHandler():IsSetCard(0x569) and bit.band(loc,LOCATION_ONFIELD)~=0
end
function s.zcop1(e,tp,eg,ep,ev,re,r,rp)
if not re or re:GetHandler()~=e:GetHandler() then
Duel.Hint(24,0,aux.Stringid(id,1))
end
end
function s.zcop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(24,0,aux.Stringid(id,2))
end
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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