Commit 52b4b584 authored by TanakaKotoha's avatar TanakaKotoha

iidx goooooooooooooooold

parent 138545b8
--过度包扎 --过度包扎
function c81010053.initial_effect(c) function c81010013.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW) e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,81010053) e1:SetCountLimit(1,81010013)
e1:SetCondition(c81010053.condition) e1:SetCondition(c81010013.condition)
e1:SetTarget(c81010053.target) e1:SetTarget(c81010013.target)
e1:SetOperation(c81010053.activate) e1:SetOperation(c81010013.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c81010053.condition(e,tp,eg,ep,ev,re,r,rp) function c81010013.condition(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_HAND,0,nil) local g=Duel.GetMatchingGroup(nil,tp,LOCATION_HAND,0,nil)
return g:GetCount()==0 return g:GetCount()==0
end end
function c81010053.target(e,tp,eg,ep,ev,re,r,rp,chk) function c81010013.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2) Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end end
function c81010053.activate(e,tp,eg,ep,ev,re,r,rp) function c81010013.activate(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT) Duel.Draw(p,d,REASON_EFFECT)
end end
--一不留神被吓个半死 --一不留神被吓个半死
function c81010059.initial_effect(c) function c81010023.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetCondition(c81010059.condition) e1:SetCondition(c81010023.condition)
e1:SetTarget(c81010059.target) e1:SetTarget(c81010023.target)
e1:SetOperation(c81010059.activate) e1:SetOperation(c81010023.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c81010059.condition(e,tp,eg,ep,ev,re,r,rp) function c81010023.condition(e,tp,eg,ep,ev,re,r,rp)
return rp==tp and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) return rp==tp and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE))
end end
function c81010059.target(e,tp,eg,ep,ev,re,r,rp,chk) function c81010023.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,0,1,nil) end
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0)
end end
function c81010059.activate(e,tp,eg,ep,ev,re,r,rp) function c81010023.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
Duel.Destroy(sg,REASON_EFFECT) Duel.Destroy(sg,REASON_EFFECT)
end end
--谁把谁吓个半死?! --谁把谁吓个半死?!
function c81010054.initial_effect(c) function c81010024.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c81010054.condition) e1:SetCondition(c81010024.condition)
e1:SetTarget(c81010054.target) e1:SetTarget(c81010024.target)
e1:SetOperation(c81010054.activate) e1:SetOperation(c81010024.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c81010054.cfilter(c) function c81010024.cfilter(c)
return c:GetSummonLocation()==LOCATION_EXTRA return c:GetSummonLocation()==LOCATION_EXTRA
end end
function c81010054.condition(e,tp,eg,ep,ev,re,r,rp) function c81010024.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c81010054.cfilter,tp,0,LOCATION_MZONE,1,nil) return Duel.IsExistingMatchingCard(c81010024.cfilter,tp,0,LOCATION_MZONE,1,nil)
end end
function c81010054.target(e,tp,eg,ep,ev,re,r,rp,chk) function c81010024.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,0,1,nil) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end end
function c81010054.activate(e,tp,eg,ep,ev,re,r,rp) function c81010024.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
--开始自闭 --开始自闭
function c81010055.initial_effect(c) function c81010025.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c81010055.target) e1:SetTarget(c81010025.target)
e1:SetOperation(c81010055.activate) e1:SetOperation(c81010025.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c81010055.target(e,tp,eg,ep,ev,re,r,rp,chk) function c81010025.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,0,1,nil) end
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0)
end end
function c81010055.activate(e,tp,eg,ep,ev,re,r,rp) function c81010025.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
Duel.Destroy(sg,REASON_EFFECT) Duel.Destroy(sg,REASON_EFFECT)
end end
--似乎被吓个半死 --似乎被吓个半死
function c81010056.initial_effect(c) function c81010026.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c81010056.target) e1:SetTarget(c81010026.target)
e1:SetOperation(c81010056.activate) e1:SetOperation(c81010026.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_FLIP_SUMMON_SUCCESS) e2:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
...@@ -15,15 +15,15 @@ function c81010056.initial_effect(c) ...@@ -15,15 +15,15 @@ function c81010056.initial_effect(c)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c81010056.filter(c,tp) function c81010026.filter(c,tp)
return c:GetSummonPlayer()==tp return c:GetSummonPlayer()==tp
end end
function c81010056.target(e,tp,eg,ep,ev,re,r,rp,chk) function c81010026.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(c81010056.filter,1,nil,1-tp) and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return eg:IsExists(c81010026.filter,1,nil,1-tp) and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,0,1,nil) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end end
function c81010056.activate(e,tp,eg,ep,ev,re,r,rp) function c81010026.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
--似是似非的现实 --似是似非的现实
function c81010049.initial_effect(c) function c81010031.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_END_PHASE) e1:SetHintTiming(TIMING_END_PHASE)
e1:SetCountLimit(1,81010049+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,81010031+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c81010049.condition) e1:SetCondition(c81010031.condition)
e1:SetTarget(c81010049.target) e1:SetTarget(c81010031.target)
e1:SetOperation(c81010049.activate) e1:SetOperation(c81010031.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if not c81010049.global_check then if not c81010031.global_check then
c81010049.global_check=true c81010031.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DAMAGE) ge1:SetCode(EVENT_DAMAGE)
ge1:SetOperation(c81010049.checkop) ge1:SetOperation(c81010031.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
function c81010049.checkop(e,tp,eg,ep,ev,re,r,rp) function c81010031.checkop(e,tp,eg,ep,ev,re,r,rp)
if (bit.band(r,REASON_EFFECT)~=0 and rp==1-ep) or bit.band(r,REASON_BATTLE)~=0 then if (bit.band(r,REASON_EFFECT)~=0 and rp==1-ep) or bit.band(r,REASON_BATTLE)~=0 then
Duel.RegisterFlagEffect(ep,81010049,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(ep,81010031,RESET_PHASE+PHASE_END,0,1)
end end
end end
function c81010049.condition(e,tp,eg,ep,ev,re,r,rp) function c81010031.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,81010049)~=0 return Duel.GetFlagEffect(tp,81010031)~=0
end end
function c81010049.spfilter(c,e,tp) function c81010031.spfilter(c,e,tp)
return c:IsAttack(1550) and c:IsDefense(1050) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsAttack(1550) and c:IsDefense(1050) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c81010049.ctfilter(c) function c81010031.ctfilter(c)
return c:IsSummonType(SUMMON_TYPE_SPECIAL) return c:IsSummonType(SUMMON_TYPE_SPECIAL)
end end
function c81010049.target(e,tp,eg,ep,ev,re,r,rp,chk) function c81010031.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c81010049.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(c81010031.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c81010049.ctfilter,tp,0,LOCATION_MZONE,1,nil) end and Duel.IsExistingMatchingCard(c81010031.ctfilter,tp,0,LOCATION_MZONE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c81010049.activate(e,tp,eg,ep,ev,re,r,rp) function c81010031.activate(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end if ft<=0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c81010049.spfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp) local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c81010031.spfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp)
local ct=Duel.GetMatchingGroupCount(c81010049.ctfilter,tp,0,LOCATION_MZONE,nil) local ct=Duel.GetMatchingGroupCount(c81010031.ctfilter,tp,0,LOCATION_MZONE,nil)
if g:GetCount()==0 or ct==0 then return end if g:GetCount()==0 or ct==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,math.min(ft,ct)) local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,math.min(ft,ct))
...@@ -55,10 +55,10 @@ function c81010049.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,10 +55,10 @@ function c81010049.activate(e,tp,eg,ep,ev,re,r,rp)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetTargetRange(1,0) e3:SetTargetRange(1,0)
e3:SetTarget(c81010049.splimit) e3:SetTarget(c81010031.splimit)
e3:SetReset(RESET_PHASE+PHASE_END) e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
end end
function c81010049.splimit(e,c) function c81010031.splimit(e,c)
return not ((c:IsAttack(1550) and c:IsDefense(1050)) or (c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM))) return not ((c:IsAttack(1550) and c:IsDefense(1050)) or (c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM)))
end end
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