Commit 002d5777 authored by 大崎甜花's avatar 大崎甜花 Committed by GitHub

Add files via upload

parent 60ca4593
...@@ -17,6 +17,7 @@ function c21520082.initial_effect(c) ...@@ -17,6 +17,7 @@ function c21520082.initial_effect(c)
e00:SetProperty(EFFECT_FLAG_UNCOPYABLE) e00:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e00:SetRange(LOCATION_EXTRA) e00:SetRange(LOCATION_EXTRA)
e00:SetCondition(c21520082.sprcon) e00:SetCondition(c21520082.sprcon)
e00:SetTarget(c21520082.sprtg)
e00:SetOperation(c21520082.sprop) e00:SetOperation(c21520082.sprop)
e00:SetValue(SUMMON_TYPE_FUSION) e00:SetValue(SUMMON_TYPE_FUSION)
c:RegisterEffect(e00) c:RegisterEffect(e00)
...@@ -69,33 +70,27 @@ end ...@@ -69,33 +70,27 @@ end
function c21520082.fcheck2(c) function c21520082.fcheck2(c)
return c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) return c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)
end end
function c21520082.fgoal(c,tp,sg) function c21520082.fgoal(sg,tp)
return sg:GetCount()>1 and Duel.GetLocationCountFromEx(tp,tp,sg)>0 and sg:IsExists(c21520082.fcheck,1,nil,sg) return sg:GetCount()>1 and Duel.GetLocationCountFromEx(tp,tp,sg)>0 and sg:IsExists(c21520082.fcheck,1,nil,sg)
end end
function c21520082.fselect(c,tp,mg,sg)
sg:AddCard(c)
local res=c21520082.fgoal(c,tp,sg) or mg:IsExists(c21520082.fselect,1,sg,tp,mg,sg)
sg:RemoveCard(c)
return res
end
function c21520082.sprcon(e,c) function c21520082.sprcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(c21520082.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp) local mg=Duel.GetMatchingGroup(c21520082.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Group.CreateGroup() return mg:CheckSubGroup(c21520082.fgoal,1,nil,tp)
return mg:IsExists(c21520082.fselect,1,nil,tp,mg,sg)
end end
function c21520082.sprop(e,tp,eg,ep,ev,re,r,rp,c) function c21520082.sprtg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local mg=Duel.GetMatchingGroup(c21520082.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp) local mg=Duel.GetMatchingGroup(c21520082.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Group.CreateGroup() local cancel=Duel.GetCurrentChain()==0
while true do local sg=mg:SelectSubGroup(tp,c21520082.fgoal,cancel,1,nil,tp)
local cg=mg:Filter(c21520082.fselect,sg,tp,mg,sg) if sg then
if cg:GetCount()==0 sg:KeepAlive()
or (c21520082.fgoal(c,tp,sg) and not Duel.SelectYesNo(tp,210)) then break end e:SetLabelObject(sg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) return true
local g=cg:Select(tp,1,1,nil) else return false end
sg:Merge(g) end
end function c21520082.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local sg=e:GetLabelObject()
c:SetMaterial(sg) c:SetMaterial(sg)
Duel.Release(sg,REASON_COST+REASON_MATERIAL+REASON_FUSION) Duel.Release(sg,REASON_COST+REASON_MATERIAL+REASON_FUSION)
......
...@@ -17,6 +17,7 @@ function c21520083.initial_effect(c) ...@@ -17,6 +17,7 @@ function c21520083.initial_effect(c)
e00:SetProperty(EFFECT_FLAG_UNCOPYABLE) e00:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e00:SetRange(LOCATION_EXTRA) e00:SetRange(LOCATION_EXTRA)
e00:SetCondition(c21520083.sprcon) e00:SetCondition(c21520083.sprcon)
e00:SetTarget(c21520083.sprtg)
e00:SetOperation(c21520083.sprop) e00:SetOperation(c21520083.sprop)
e00:SetValue(SUMMON_TYPE_FUSION) e00:SetValue(SUMMON_TYPE_FUSION)
c:RegisterEffect(e00) c:RegisterEffect(e00)
...@@ -68,6 +69,31 @@ end ...@@ -68,6 +69,31 @@ end
function c21520083.fcheck2(c) function c21520083.fcheck2(c)
return c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) return c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)
end end
function c21520083.fgoal(sg,tp)
return sg:GetCount()>1 and Duel.GetLocationCountFromEx(tp,tp,sg)>0 and sg:IsExists(c21520083.fcheck,1,nil,sg)
end
function c21520083.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(c21520083.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return mg:CheckSubGroup(c21520083.fgoal,1,nil,tp)
end
function c21520083.sprtg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local mg=Duel.GetMatchingGroup(c21520083.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local cancel=Duel.GetCurrentChain()==0
local sg=mg:SelectSubGroup(tp,c21520083.fgoal,cancel,1,nil,tp)
if sg then
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
end
function c21520083.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local sg=e:GetLabelObject()
c:SetMaterial(sg)
Duel.Release(sg,REASON_COST+REASON_MATERIAL+REASON_FUSION)
end
--[[
function c21520083.fgoal(c,tp,sg) function c21520083.fgoal(c,tp,sg)
return sg:GetCount()>1 and Duel.GetLocationCountFromEx(tp,tp,sg)>0 and sg:IsExists(c21520083.fcheck,1,nil,sg) return sg:GetCount()>1 and Duel.GetLocationCountFromEx(tp,tp,sg)>0 and sg:IsExists(c21520083.fcheck,1,nil,sg)
end end
...@@ -95,9 +121,10 @@ function c21520083.sprop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -95,9 +121,10 @@ function c21520083.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=cg:Select(tp,1,1,nil) local g=cg:Select(tp,1,1,nil)
sg:Merge(g) sg:Merge(g)
end end
local sg=e:GetLabelObject()
c:SetMaterial(sg) c:SetMaterial(sg)
Duel.Release(sg,REASON_COST+REASON_MATERIAL+REASON_FUSION) Duel.Release(sg,REASON_COST+REASON_MATERIAL+REASON_FUSION)
end end--]]
function c21520083.matcheck(e,c) function c21520083.matcheck(e,c)
local ct=c:GetMaterialCount() local ct=c:GetMaterialCount()
local ae=Effect.CreateEffect(c) local ae=Effect.CreateEffect(c)
......
...@@ -34,7 +34,7 @@ function c21520085.initial_effect(c) ...@@ -34,7 +34,7 @@ function c21520085.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(21520085,2)) e4:SetDescription(aux.Stringid(21520085,2))
e4:SetCategory(CATEGORY_DAMAGE) e4:SetCategory(CATEGORY_DAMAGE)
e4:SetProperty(+EFFECT_FLAG_DAMAGE_STEP) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetHintTiming(TIMING_BATTLE_STEP_END) e4:SetHintTiming(TIMING_BATTLE_STEP_END)
e4:SetCode(EVENT_FREE_CHAIN) e4:SetCode(EVENT_FREE_CHAIN)
...@@ -113,15 +113,17 @@ end ...@@ -113,15 +113,17 @@ end
function c21520085.exatkcon(e,tp,eg,ep,ev,re,r,rp) function c21520085.exatkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
local tp=Duel.GetTurnPlayer() local tp=Duel.GetTurnPlayer()
return e:GetHandler():GetAttackedCount()>0 and tp==e:GetHandler():GetControler() and ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE --and e:GetHandler():GetFlagEffect(21520085)~=0 return e:GetHandler():GetAttackedCount()>0 and tp==e:GetHandler():GetControler() and ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end end
function c21520085.exatkcost(e,tp,eg,ep,ev,re,r,rp,chk) function c21520085.exatkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c21520085.adfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c21520085.adfilter,tp,LOCATION_GRAVE,0,1,nil)
and e:GetHandler():GetFlagEffect(21520085)==0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c21520085.adfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c21520085.adfilter,tp,LOCATION_GRAVE,0,1,1,nil)
g:KeepAlive() g:KeepAlive()
e:SetLabelObject(g) e:SetLabelObject(g)
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
e:GetHandler():RegisterFlagEffect(21520085,RESET_CHAIN,0,1)
end end
function c21520085.exatkop(e,tp,eg,ep,ev,re,r,rp) function c21520085.exatkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -10,6 +10,7 @@ function c21520087.initial_effect(c) ...@@ -10,6 +10,7 @@ function c21520087.initial_effect(c)
e0:SetCode(EFFECT_SPSUMMON_PROC) e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA) e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(c21520087.sprcon) e0:SetCondition(c21520087.sprcon)
e0:SetTarget(c21520087.sprtg)
e0:SetOperation(c21520087.sprop) e0:SetOperation(c21520087.sprop)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e01=Effect.CreateEffect(c) local e01=Effect.CreateEffect(c)
...@@ -93,32 +94,27 @@ end ...@@ -93,32 +94,27 @@ end
function c21520087.spfilter(c) function c21520087.spfilter(c)
return c21520087.fsfilter(c) and c:IsAbleToDeckOrExtraAsCost() return c21520087.fsfilter(c) and c:IsAbleToDeckOrExtraAsCost()
end end
function c21520087.fselect(c,tp,mg,sg) function c21520087.fgoal(sg,tp)
sg:AddCard(c) return Duel.GetLocationCountFromEx(tp,tp,sg)>0 and sg:IsExists(aux.TRUE,2,nil)
local res=false
if sg:GetCount()<2 then
res=mg:IsExists(c21520087.fselect,1,sg,tp,mg,sg)
else
res=Duel.GetLocationCountFromEx(tp,tp,sg)>0
end
sg:RemoveCard(c)
return res
end end
function c21520087.sprcon(e,c) function c21520087.sprcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(c21520087.spfilter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(c21520087.spfilter,tp,LOCATION_MZONE,0,nil)
local sg=Group.CreateGroup() return mg:CheckSubGroup(c21520087.fgoal,1,nil,tp)
return mg:IsExists(c21520087.fselect,1,nil,tp,mg,sg)
end end
function c21520087.sprop(e,tp,eg,ep,ev,re,r,rp,c) function c21520087.sprtg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local mg=Duel.GetMatchingGroup(c21520087.spfilter,tp,LOCATION_MZONE,0,nil) local mg=Duel.GetMatchingGroup(c21520087.spfilter,tp,LOCATION_MZONE,0,nil)
local sg=Group.CreateGroup() local cancel=Duel.GetCurrentChain()==0
while sg:GetCount()<2 do local sg=mg:SelectSubGroup(tp,c21520087.fgoal,cancel,1,2,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) if sg then
local g=mg:FilterSelect(tp,c21520087.fselect,1,1,sg,tp,mg,sg) sg:KeepAlive()
sg:Merge(g) e:SetLabelObject(sg)
end return true
else return false end
end
function c21520087.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local sg=e:GetLabelObject()
local cg=sg:Filter(Card.IsFacedown,nil) local cg=sg:Filter(Card.IsFacedown,nil)
if cg:GetCount()>0 then if cg:GetCount()>0 then
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
......
...@@ -10,6 +10,7 @@ function c21520088.initial_effect(c) ...@@ -10,6 +10,7 @@ function c21520088.initial_effect(c)
e0:SetCode(EFFECT_SPSUMMON_PROC) e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA) e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(c21520088.sprcon) e0:SetCondition(c21520088.sprcon)
e0:SetTarget(c21520088.sprtg)
e0:SetOperation(c21520088.sprop) e0:SetOperation(c21520088.sprop)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e01=Effect.CreateEffect(c) local e01=Effect.CreateEffect(c)
...@@ -48,9 +49,36 @@ function c21520088.fsfilter(c) ...@@ -48,9 +49,36 @@ function c21520088.fsfilter(c)
return (c:GetBaseAttack()>=2400 and c:GetBaseDefense()>=1000) and c:IsCanBeFusionMaterial() return (c:GetBaseAttack()>=2400 and c:GetBaseDefense()>=1000) and c:IsCanBeFusionMaterial()
end end
function c21520088.spfilter(c) function c21520088.spfilter(c)
return c21520088.fsfilter and c:IsAbleToDeckOrExtraAsCost() return c21520088.fsfilter(c) and c:IsAbleToDeckOrExtraAsCost()
end end
function c21520088.fselect(c,tp,mg,sg) function c21520088.fgoal(sg,tp)
return Duel.GetLocationCountFromEx(tp,tp,sg)>0 and sg:IsExists(aux.TRUE,2,nil)
end
function c21520088.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(c21520088.spfilter,tp,LOCATION_MZONE,0,nil)
return mg:CheckSubGroup(c21520088.fgoal,1,nil,tp)
end
function c21520088.sprtg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local mg=Duel.GetMatchingGroup(c21520088.spfilter,tp,LOCATION_MZONE,0,nil)
local cancel=Duel.GetCurrentChain()==0
local sg=mg:SelectSubGroup(tp,c21520088.fgoal,cancel,1,2,tp)
if sg then
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
end
function c21520088.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local sg=e:GetLabelObject()
local cg=sg:Filter(Card.IsFacedown,nil)
if cg:GetCount()>0 then
Duel.ConfirmCards(1-tp,cg)
end
Duel.SendtoDeck(sg,nil,2,REASON_COST)
end
--[[nction c21520088.fselect(c,tp,mg,sg)
sg:AddCard(c) sg:AddCard(c)
local res=false local res=false
if sg:GetCount()<2 then if sg:GetCount()<2 then
...@@ -81,7 +109,7 @@ function c21520088.sprop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -81,7 +109,7 @@ function c21520088.sprop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.ConfirmCards(1-tp,cg) Duel.ConfirmCards(1-tp,cg)
end end
Duel.SendtoDeck(sg,nil,2,REASON_COST) Duel.SendtoDeck(sg,nil,2,REASON_COST)
end end--]]
function c21520088.indescon(e,tp,eg,ep,ev,re,r,rp) function c21520088.indescon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN)
end end
......
...@@ -13,9 +13,10 @@ function c21520183.initial_effect(c) ...@@ -13,9 +13,10 @@ function c21520183.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC) e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE) e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetRange(LOCATION_GRAVE+LOCATION_EXTRA) e2:SetRange(LOCATION_GRAVE+LOCATION_EXTRA)
e2:SetCondition(c21520183.spcon) e2:SetCondition(c21520183.spcon)
e2:SetTarget(c21520183.sptg)
e2:SetOperation(c21520183.spop) e2:SetOperation(c21520183.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--draw --draw
...@@ -92,14 +93,21 @@ function c21520183.spcon(e,c) ...@@ -92,14 +93,21 @@ function c21520183.spcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(c21520183.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,e:GetHandler()) local mg=Duel.GetMatchingGroup(c21520183.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,e:GetHandler())
local sg=Group.CreateGroup()
return mg:CheckSubGroup(c21520183.spgoal,1,nil,tp) return mg:CheckSubGroup(c21520183.spgoal,1,nil,tp)
end end
function c21520183.spop(e,tp,eg,ep,ev,re,r,rp,c) function c21520183.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local mg=Duel.GetMatchingGroup(c21520183.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,e:GetHandler()) local mg=Duel.GetMatchingGroup(c21520183.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,e:GetHandler())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local cancel=Duel.GetCurrentChain()==0 local cancel=Duel.GetCurrentChain()==0
local sg=mg:SelectSubGroup(tp,c21520183.spgoal,cancel,1,nil,tp,c:GetLocation()) local sg=mg:SelectSubGroup(tp,c21520183.spgoal,cancel,1,nil,tp,c:GetLocation())
if sg then
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
end
function c21520183.spop(e,tp,eg,ep,ev,re,r,rp,c)
local sg=e:GetLabelObject()
c:SetMaterial(sg) c:SetMaterial(sg)
Duel.Remove(sg,POS_FACEUP,REASON_COST) Duel.Remove(sg,POS_FACEUP,REASON_COST)
end end
......
...@@ -185,7 +185,7 @@ function c21520189.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -185,7 +185,7 @@ function c21520189.tgop(e,tp,eg,ep,ev,re,r,rp)
end end
local ct=Duel.SendtoGrave(tgg,REASON_EFFECT) local ct=Duel.SendtoGrave(tgg,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local otg=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,nil) local otg=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,ct,ct,nil)
Duel.SendtoGrave(otg,REASON_EFFECT) Duel.SendtoGrave(otg,REASON_EFFECT)
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
end end
--+++++猛毒性 球系
function c24562471.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(24562471,0))
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_DAMAGE)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCountLimit(1,24562471)
e2:SetCondition(c24562471.drcon)
e2:SetTarget(c24562471.drtg)
e2:SetOperation(c24562471.drop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(24562471,1))
e3:SetCategory(CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCountLimit(1)
e3:SetTarget(c24562471.target)
e3:SetOperation(c24562471.operation)
c:RegisterEffect(e3)
end
function c24562471.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(600)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,600)
end
function c24562471.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
function c24562471.drcon(e,tp,eg,ep,ev,re,r,rp)
if bit.band(r,REASON_EFFECT)~=0 then
return re and re:GetHandler():IsSetCard(0x9390) and ep~=tp
else return ep~=tp
end
end
function c24562471.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c24562471.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
\ No newline at end of file
...@@ -45,10 +45,10 @@ function c33400007.sumval(e,c) ...@@ -45,10 +45,10 @@ function c33400007.sumval(e,c)
return 0,sumzone,relzone return 0,sumzone,relzone
end end
function c33400007.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c33400007.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetLabel()
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil)
and Duel.IsCanRemoveCounter(tp,1,0,0x34f,ct,REASON_COST) and Duel.IsCanRemoveCounter(tp,1,0,0x34f,ct,REASON_COST)
end end
local ct=e:GetLabel()
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.RemoveCounter(tp,1,0,0x34f,ct,REASON_COST) Duel.RemoveCounter(tp,1,0,0x34f,ct,REASON_COST)
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD) Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
......
...@@ -20,6 +20,7 @@ function c33400013.initial_effect(c) ...@@ -20,6 +20,7 @@ function c33400013.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,33400013+10000)
e2:SetTarget(c33400013.addct) e2:SetTarget(c33400013.addct)
e2:SetOperation(c33400013.addc) e2:SetOperation(c33400013.addc)
c:RegisterEffect(e2) c:RegisterEffect(e2)
......
...@@ -20,7 +20,7 @@ function c33400103.filter(c) ...@@ -20,7 +20,7 @@ function c33400103.filter(c)
end end
function c33400103.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c33400103.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c33400103.cfilter,tp,LOCATION_MZONE,0,1,nil) if chk==0 then return Duel.IsExistingTarget(c33400103.cfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsCanRemoveCounter(tp,1,0,0x1003,1,REASON_COST) and Duel.IsCanRemoveCounter(tp,1,0,0x34f,1,REASON_COST)
end end
local sc=Duel.GetMatchingGroupCount(c33400103.cfilter,tp,LOCATION_MZONE,0,nil) local sc=Duel.GetMatchingGroupCount(c33400103.cfilter,tp,LOCATION_MZONE,0,nil)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and c33400102.filter(chkc) end if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and c33400102.filter(chkc) end
......
...@@ -35,6 +35,7 @@ function c65020067.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,6 +35,7 @@ function c65020067.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020067.con) e1:SetCondition(c65020067.con)
e1:SetCost(c65020067.cost) e1:SetCost(c65020067.cost)
e1:SetTarget(c65020067.xyztg) e1:SetTarget(c65020067.xyztg)
......
...@@ -35,6 +35,7 @@ function c65020068.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,6 +35,7 @@ function c65020068.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020068.con) e1:SetCondition(c65020068.con)
e1:SetCost(c65020068.cost) e1:SetCost(c65020068.cost)
e1:SetTarget(c65020068.xyztg) e1:SetTarget(c65020068.xyztg)
......
...@@ -33,6 +33,7 @@ function c65020069.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,6 +33,7 @@ function c65020069.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020069.con) e1:SetCondition(c65020069.con)
e1:SetCost(c65020069.cost) e1:SetCost(c65020069.cost)
e1:SetTarget(c65020069.linktg) e1:SetTarget(c65020069.linktg)
......
...@@ -34,6 +34,7 @@ function c65020070.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,6 +34,7 @@ function c65020070.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020070.con) e1:SetCondition(c65020070.con)
e1:SetCost(c65020070.cost) e1:SetCost(c65020070.cost)
e1:SetTarget(c65020070.linktg) e1:SetTarget(c65020070.linktg)
......
...@@ -36,6 +36,7 @@ function c65020071.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,6 +36,7 @@ function c65020071.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetCondition(c65020071.con) e1:SetCondition(c65020071.con)
e1:SetTarget(c65020071.destg) e1:SetTarget(c65020071.destg)
......
...@@ -39,6 +39,7 @@ function c65020072.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -39,6 +39,7 @@ function c65020072.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c65020072.con) e1:SetCondition(c65020072.con)
e1:SetTarget(c65020072.distg) e1:SetTarget(c65020072.distg)
e1:SetOperation(c65020072.disop) e1:SetOperation(c65020072.disop)
...@@ -58,7 +59,7 @@ function c65020072.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -58,7 +59,7 @@ function c65020072.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c65020072.filter,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) if chk==0 then return Duel.IsExistingTarget(c65020072.filter,tp,LOCATION_ONFIELD,0,1,e:GetHandler())
and Duel.IsExistingTarget(aux.disfilter1,tp,0,LOCATION_ONFIELD,1,nil) end and Duel.IsExistingTarget(aux.disfilter1,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
Duel.SelectTarget(tp,aux.disfilter1,tp,LOCATION_ONFIELD,0,1,1,nil) Duel.SelectTarget(tp,aux.filter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
Duel.SelectTarget(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD,1,1,nil) Duel.SelectTarget(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD,1,1,nil)
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment