Commit 0c3fd148 authored by Nemo Ma's avatar Nemo Ma

fix

parent fca01d36
This diff is collapsed.
...@@ -131,7 +131,6 @@ function c127541563.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -131,7 +131,6 @@ function c127541563.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local g=Duel.GetMatchingGroup(c127541563.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(c127541563.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end end
function c127541563.spfilter(c,e,tp) function c127541563.spfilter(c,e,tp)
return c:IsSetCard(0x103) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x103) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -55,6 +55,14 @@ function cm.initial_effect(c) ...@@ -55,6 +55,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND) e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348030.drcon2) e7:SetCondition(c22348030.drcon2)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--send replace
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_TO_GRAVE_REDIRECT_CB)
e8:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e8:SetCondition(c22348030.repcon)
e8:SetOperation(c22348030.repop)
c:RegisterEffect(e8)
end end
function c22348030.filter(c) function c22348030.filter(c)
return not c:IsPublic() return not c:IsPublic()
...@@ -155,6 +163,20 @@ function c22348030.drcon2(e) ...@@ -155,6 +163,20 @@ function c22348030.drcon2(e)
return c:IsPublic() and Duel.IsPlayerAffectedByEffect(tp,22348037) return c:IsPublic() and Duel.IsPlayerAffectedByEffect(tp,22348037)
end end
function c22348030.repcon(e)
local c=e:GetHandler()
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY) and Duel.IsPlayerAffectedByEffect(tp,22348039)
end
function c22348030.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e1)
end
...@@ -54,6 +54,14 @@ function cm.initial_effect(c) ...@@ -54,6 +54,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND) e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348031.actcon2) e7:SetCondition(c22348031.actcon2)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--send replace
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_TO_GRAVE_REDIRECT_CB)
e8:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e8:SetCondition(c22348031.repcon)
e8:SetOperation(c22348031.repop)
c:RegisterEffect(e8)
end end
function c22348031.filter(c) function c22348031.filter(c)
return not c:IsPublic() return not c:IsPublic()
...@@ -173,6 +181,21 @@ function c22348031.actcon2(e) ...@@ -173,6 +181,21 @@ function c22348031.actcon2(e)
local d=Duel.GetAttackTarget() local d=Duel.GetAttackTarget()
return ((a and c22348031.cfilter(a,tp)) or (d and c22348031.cfilter(d,tp))) and c:IsPublic() and Duel.IsPlayerAffectedByEffect(tp,22348037) return ((a and c22348031.cfilter(a,tp)) or (d and c22348031.cfilter(d,tp))) and c:IsPublic() and Duel.IsPlayerAffectedByEffect(tp,22348037)
end end
function c22348031.repcon(e)
local c=e:GetHandler()
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY) and Duel.IsPlayerAffectedByEffect(tp,22348039)
end
function c22348031.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e1)
end
...@@ -55,6 +55,14 @@ function cm.initial_effect(c) ...@@ -55,6 +55,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND) e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348032.drcon2) e7:SetCondition(c22348032.drcon2)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--send replace
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_TO_GRAVE_REDIRECT_CB)
e8:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e8:SetCondition(c22348032.repcon)
e8:SetOperation(c22348032.repop)
c:RegisterEffect(e8)
end end
function c22348032.filter(c) function c22348032.filter(c)
return not c:IsPublic() return not c:IsPublic()
...@@ -167,4 +175,19 @@ function c22348032.indct(e,re,r,rp) ...@@ -167,4 +175,19 @@ function c22348032.indct(e,re,r,rp)
return 1 return 1
else return 0 end else return 0 end
end end
function c22348032.repcon(e)
local c=e:GetHandler()
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY) and Duel.IsPlayerAffectedByEffect(tp,22348039)
end
function c22348032.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e1)
end
...@@ -3,14 +3,14 @@ local m=22348033 ...@@ -3,14 +3,14 @@ local m=22348033
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--special summon --special summon
-- local e1=Effect.CreateEffect(c) -- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD) -- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) -- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC) -- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND) -- e1:SetRange(LOCATION_HAND)
-- e1:SetCondition(c22348033.sprcon) -- e1:SetCondition(c22348033.sprcon)
-- e1:SetOperation(c22348033.sprop) -- e1:SetOperation(c22348033.sprop)
-- c:RegisterEffect(e1) -- c:RegisterEffect(e1)
--tohand --tohand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22348033,2)) e2:SetDescription(aux.Stringid(22348033,2))
...@@ -55,6 +55,14 @@ function cm.initial_effect(c) ...@@ -55,6 +55,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND) e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348033.drcon2) e7:SetCondition(c22348033.drcon2)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--send replace
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_TO_GRAVE_REDIRECT_CB)
e8:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e8:SetCondition(c22348033.repcon)
e8:SetOperation(c22348033.repop)
c:RegisterEffect(e8)
end end
function c22348033.filter(c) function c22348033.filter(c)
return not c:IsPublic() return not c:IsPublic()
...@@ -161,6 +169,21 @@ function c22348033.limval(e,re,rp) ...@@ -161,6 +169,21 @@ function c22348033.limval(e,re,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
return rc:IsLocation(LOCATION_MZONE) and re:IsActiveType(TYPE_MONSTER) and rc:IsSummonType(SUMMON_TYPE_NORMAL) return rc:IsLocation(LOCATION_MZONE) and re:IsActiveType(TYPE_MONSTER) and rc:IsSummonType(SUMMON_TYPE_NORMAL)
end end
function c22348033.repcon(e)
local c=e:GetHandler()
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY) and Duel.IsPlayerAffectedByEffect(tp,22348039)
end
function c22348033.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e1)
end
...@@ -3,14 +3,14 @@ local m=22348034 ...@@ -3,14 +3,14 @@ local m=22348034
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--special summon --special summon
-- local e1=Effect.CreateEffect(c) -- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD) -- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) -- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC) -- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND) -- e1:SetRange(LOCATION_HAND)
-- e1:SetCondition(c22348034.sprcon) -- e1:SetCondition(c22348034.sprcon)
-- e1:SetOperation(c22348034.sprop) -- e1:SetOperation(c22348034.sprop)
-- c:RegisterEffect(e1) -- c:RegisterEffect(e1)
--tohand --tohand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22348034,2)) e2:SetDescription(aux.Stringid(22348034,2))
...@@ -53,6 +53,14 @@ function cm.initial_effect(c) ...@@ -53,6 +53,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND) e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348034.drcon2) e7:SetCondition(c22348034.drcon2)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--send replace
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_TO_GRAVE_REDIRECT_CB)
e8:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e8:SetCondition(c22348034.repcon)
e8:SetOperation(c22348034.repop)
c:RegisterEffect(e8)
end end
...@@ -164,3 +172,18 @@ function c22348034.negop(e,tp,eg,ep,ev,re,r,rp) ...@@ -164,3 +172,18 @@ function c22348034.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,22348034) Duel.Hint(HINT_CARD,0,22348034)
Duel.NegateEffect(ev) Duel.NegateEffect(ev)
end end
function c22348034.repcon(e)
local c=e:GetHandler()
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY) and Duel.IsPlayerAffectedByEffect(tp,22348039)
end
function c22348034.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e1)
end
...@@ -3,14 +3,14 @@ local m=22348035 ...@@ -3,14 +3,14 @@ local m=22348035
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--special summon --special summon
-- local e1=Effect.CreateEffect(c) -- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD) -- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) -- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC) -- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND) -- e1:SetRange(LOCATION_HAND)
-- e1:SetCondition(c22348035.sprcon) -- e1:SetCondition(c22348035.sprcon)
-- e1:SetOperation(c22348035.sprop) -- e1:SetOperation(c22348035.sprop)
-- c:RegisterEffect(e1) -- c:RegisterEffect(e1)
--tohand --tohand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22348035,2)) e2:SetDescription(aux.Stringid(22348035,2))
...@@ -56,6 +56,14 @@ function cm.initial_effect(c) ...@@ -56,6 +56,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND) e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348035.drcon2) e7:SetCondition(c22348035.drcon2)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--send replace
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_TO_GRAVE_REDIRECT_CB)
e8:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e8:SetCondition(c22348035.repcon)
e8:SetOperation(c22348035.repop)
c:RegisterEffect(e8)
end end
function c22348035.filter(c) function c22348035.filter(c)
return not c:IsPublic() return not c:IsPublic()
...@@ -161,6 +169,21 @@ end ...@@ -161,6 +169,21 @@ end
function c22348035.target(e,c) function c22348035.target(e,c)
return c:IsSetCard(0x700) and c:IsFaceup() return c:IsSetCard(0x700) and c:IsFaceup()
end end
function c22348035.repcon(e)
local c=e:GetHandler()
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY) and Duel.IsPlayerAffectedByEffect(tp,22348039)
end
function c22348035.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e1)
end
...@@ -66,6 +66,14 @@ function cm.initial_effect(c) ...@@ -66,6 +66,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND) e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348036.drcon2) e7:SetCondition(c22348036.drcon2)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--send replace
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_TO_GRAVE_REDIRECT_CB)
e8:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e8:SetCondition(c22348036.repcon)
e8:SetOperation(c22348036.repop)
c:RegisterEffect(e8)
end end
function c22348036.filter(c) function c22348036.filter(c)
return not c:IsPublic() return not c:IsPublic()
...@@ -186,6 +194,21 @@ function c22348036.drcon2(e) ...@@ -186,6 +194,21 @@ function c22348036.drcon2(e)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPublic() and Duel.IsPlayerAffectedByEffect(tp,22348037) return c:IsPublic() and Duel.IsPlayerAffectedByEffect(tp,22348037)
end end
function c22348036.repcon(e)
local c=e:GetHandler()
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY) and Duel.IsPlayerAffectedByEffect(tp,22348039)
end
function c22348036.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e1)
end
......
...@@ -23,20 +23,32 @@ function cm.initial_effect(c) ...@@ -23,20 +23,32 @@ function cm.initial_effect(c)
e3:SetCondition(c22348039.descon) e3:SetCondition(c22348039.descon)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--send replace --send replace
local e5=Effect.CreateEffect(c) -- local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) -- e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetRange(LOCATION_SZONE) -- e5:SetRange(LOCATION_SZONE)
e5:SetCode(EFFECT_SEND_REPLACE) -- e5:SetCode(EFFECT_SEND_REPLACE)
e5:SetTarget(c22348039.reptg) -- e5:SetTarget(c22348039.reptg)
e5:SetValue(c22348039.repval) -- e5:SetValue(c22348039.repval)
-- c:RegisterEffect(e5)
-- local g=Group.CreateGroup()
-- g:KeepAlive()
-- e5:SetLabelObject(g)
-- local e6=e5:Clone()
-- e6:SetRange(LOCATION_HAND)
-- e6:SetCondition(c22348039.descon)
-- c:RegisterEffect(e6)
--change effect type
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetCode(22348039)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(1,0)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetRange(LOCATION_HAND)
e5:SetCondition(c22348039.descon)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local g=Group.CreateGroup()
g:KeepAlive()
e5:SetLabelObject(g)
local e6=e5:Clone()
e6:SetRange(LOCATION_HAND)
e6:SetCondition(c22348039.descon)
c:RegisterEffect(e6)
end end
function c22348039.descon(e) function c22348039.descon(e)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -14,7 +14,7 @@ function cm.initial_effect(c) ...@@ -14,7 +14,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_DECKDES+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_TO_GRAVE)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
...@@ -24,11 +24,11 @@ function cm.initial_effect(c) ...@@ -24,11 +24,11 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--equip --equip
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_EQUIP) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetRange(LOCATION_SZONE)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+200) e2:SetCountLimit(1,m+200)
e2:SetCost(cm.spcost)
e2:SetTarget(cm.target) e2:SetTarget(cm.target)
e2:SetOperation(cm.activate) e2:SetOperation(cm.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -77,46 +77,27 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,46 +77,27 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SendtoGrave(g,REASON_EFFECT)
end end
end end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ec=e:GetHandler():GetEquipTarget()
if chk==0 then return ec and ec:IsReleasable() end
Duel.Release(ec,REASON_COST)
end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsLevel(10) and c:IsCanBeEffectTarget(e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) return c:IsLevel(10) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return false end local ec=e:GetHandler():GetEquipTarget()
if chk==0 then return Duel.IsExistingTarget(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return ec and Duel.GetMZoneCount(tp,ec)>0
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp) and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
if ft>1 and Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
if ft>2 then ft=2 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,#g,0,0)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local max=2
if ft<=0 then return end if Duel.GetMZoneCount(tp)<1 then return end
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp) if Duel.GetMZoneCount(tp)<2 or Duel.IsPlayerAffectedByEffect(tp,59822133) then max=1 end
if g:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133) then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
if g:GetCount()>ft then local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,max,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) if g:GetCount()>0 then
g=g:Select(tp,ft,ft,nil) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
Duel.AdjustAll()
end end
...@@ -30,7 +30,6 @@ function cm.initial_effect(c) ...@@ -30,7 +30,6 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,m+200) e2:SetCountLimit(1,m+200)
e2:SetCondition(cm.con) e2:SetCondition(cm.con)
e2:SetTarget(cm.target)
e2:SetOperation(cm.activate) e2:SetOperation(cm.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
...@@ -79,14 +78,15 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,14 +78,15 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget() local ec=e:GetHandler():GetEquipTarget()
return ec and ec:IsLevelAbove(1)
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL) e3:SetCode(EFFECT_CHANGE_LEVEL)
e3:SetValue(10) e3:SetValue(10)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e3) c:RegisterEffect(e3)
...@@ -94,14 +94,6 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -94,14 +94,6 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP) e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_DIRECT_ATTACK) e2:SetCode(EFFECT_DIRECT_ATTACK)
e2:SetCondition(cm.dircon)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.dircon(e)
return e:GetHandler():GetEquipTarget():GetControler()==e:GetHandlerPlayer()
end
...@@ -14,7 +14,7 @@ function cm.initial_effect(c) ...@@ -14,7 +14,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--to hand --to hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_DECKDES+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_TO_GRAVE)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
...@@ -30,7 +30,6 @@ function cm.initial_effect(c) ...@@ -30,7 +30,6 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,m+200) e2:SetCountLimit(1,m+200)
e2:SetCondition(cm.con) e2:SetCondition(cm.con)
e2:SetTarget(cm.target)
e2:SetOperation(cm.activate) e2:SetOperation(cm.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
...@@ -64,29 +63,30 @@ end ...@@ -64,29 +63,30 @@ end
function cm.eqlimit(e,c) function cm.eqlimit(e,c)
return c==e:GetLabelObject() return c==e:GetLabelObject()
end end
function cm.tgfilter(c) function cm.tgfilter(c,e,tp)
return c:IsSetCard(0x412) and not c:IsCode(64800182) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x412) and not c:IsCode(64800182) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp) function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget() local ec=e:GetHandler():GetEquipTarget()
return ec and ec:IsLevelAbove(1)
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL) e3:SetCode(EFFECT_CHANGE_LEVEL)
e3:SetValue(10) e3:SetValue(10)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e3) c:RegisterEffect(e3)
...@@ -95,11 +95,6 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -95,11 +95,6 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
e5:SetType(EFFECT_TYPE_EQUIP) e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e5:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e5:SetValue(1) e5:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e5:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e5) c:RegisterEffect(e5)
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