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

fix

parent fca01d36
--混沌
function c121082832.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_PREDRAW)
e0:SetCountLimit(1,121082832+EFFECT_COUNT_CODE_DUEL)
e0:SetRange(LOCATION_HAND+LOCATION_DECK)
e0:SetOperation(c121082832.op)
c:RegisterEffect(e0)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,121082832+EFFECT_COUNT_CODE_DUEL+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c121082832.actcost)
e1:SetTarget(c121082832.target)
c:RegisterEffect(e1)
end
function c121082832.effilter(c)
return c:IsFaceup() and c:GetOriginalCode()==121082832
end
function c121082832.effcon(e)
return Duel.IsExistingMatchingCard(c121082832.effilter,e:GetHandlerPlayer(),LOCATION_FZONE,0,1,nil)
end
function c121082832.repfilter(c,tc)
return c==tc and c:IsFacedown()
end
function c121082832.desreptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(c121082832.repfilter,1,nil,e:GetOwner()) end
return true
end
function c121082832.desrepval(e,c)
return c121082832.repfilter(c,e:GetOwner())
end
function c121082832.con(e)
return e:GetOwner():GetFlagEffect(121082832)>0 and e:GetOwner():IsFacedown()
end
function c121082832.actlimit(e,re,tp)
return re:IsActiveType(TYPE_FIELD) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler()~=e:GetOwner()
end
function c121082832.setlimit(e,c,tp)
return c:IsType(TYPE_FIELD) and c~=e:GetOwner()
end
function c121082832.op(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
Duel.MoveToField(c,tp,tp,LOCATION_FZONE,POS_FACEDOWN,true)
Duel.ConfirmCards(1-tp,c)
c:RegisterFlagEffect(121082832,RESET_EVENT+RESETS_STANDARD,0,1)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e3:SetTargetRange(1,1)
e3:SetCondition(c121082832.effcon)
e3:SetCode(EFFECT_CHANGE_CODE)
e3:SetValue(121082832)
Duel.RegisterEffect(e3,tp)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e7:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e7:SetRange(LOCATION_FZONE)
e7:SetCode(EFFECT_SEND_REPLACE)
e7:SetTarget(c121082832.desreptg)
e7:SetValue(c121082832.desrepval)
Duel.RegisterEffect(e7,tp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetCondition(c121082832.con)
e1:SetValue(c121082832.actlimit)
Duel.RegisterEffect(e1,tp)
--duel start
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SSET)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetCondition(c121082832.con)
e2:SetTarget(c121082832.setlimit)
Duel.RegisterEffect(e2,tp)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_HAND)
e2:SetRange(LOCATION_DECK+LOCATION_HAND)
e2:SetCountLimit(1,121082832+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(c121082832.chcon)
e2:SetOperation(c121082832.chop)
c:RegisterEffect(e2)
end
function c121082832.actcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,121082832)==0 end
Duel.RegisterFlagEffect(tp,121082832,0,0,0)
end
function c121082832.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
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:SetRange(LOCATION_FZONE)
e1:SetCondition(c121082832.descon)
e1:SetOperation(c121082832.desop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN,3)
c:SetTurnCounter(0)
c:RegisterEffect(e1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetLabel(0)
e1:SetCountLimit(1)
e1:SetCondition(c121082832.tgcon)
e1:SetOperation(c121082832.tgop)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END+RESET_OPPO_TURN,3)
e:GetHandler():RegisterEffect(e1)
end
function c121082832.descon(e,tp,eg,ep,ev,re,r,rp)
function c121082832.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
end
function c121082832.desop(e,tp,eg,ep,ev,re,r,rp)
function c121082832.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetTurnCounter()
local ct=e:GetLabel()
ct=ct+1
c:SetTurnCounter(ct)
e:SetLabel(ct)
if ct<=3 then e:GetHandler():SetTurnCounter(ct) end
if ct==3 then
--search & destroy
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_FZONE)
e1:SetCountLimit(1+EFFECT_COUNT_CODE_DUEL)
e1:SetTarget(c121082832.target2)
e1:SetOperation(c121082832.operation2)
e1:SetCountLimit(1)
e1:SetTarget(c121082832.destg)
e1:SetOperation(c121082832.desop)
e1:SetReset(RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
end
function c121082832.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 end
function c121082832.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
end
function c121082832.operation2(e,tp,eg,ep,ev,re,r,rp)
if Duel.Destroy(e:GetHandler(),REASON_EFFECT)==0 then return end
function c121082832.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end
if Duel.Destroy(c,REASON_EFFECT)==0 then return end
Duel.SetLP(tp,4000)
if Duel.GetLP(tp)<Duel.GetLP(1-tp) and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 and Duel.SelectYesNo(tp,aux.Stringid(121082832,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_DECK,0,1,1,nil)
local dc=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
if Duel.GetLP(tp)<Duel.GetLP(1-tp) and dc>1 and Duel.SelectYesNo(tp,aux.Stringid(121082832,2)) then
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.ShuffleDeck(tp)
......@@ -129,3 +81,104 @@ function c121082832.operation2(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function c121082832.chcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount()==0
end
function c121082832.chop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tp=c:GetOwner()
if not c:IsLocation(LOCATION_DECK+LOCATION_HAND) then return end
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,LOCATION_HAND)
if g:GetCount()>0 then Duel.SendtoDeck(g,nil,2,REASON_RULE) end
if c:GetActivateEffect():IsActivatable(tp) and Duel.SelectYesNo(tp,aux.Stringid(121082832,0)) then
Duel.SSet(tp,c)
c:RegisterFlagEffect(121082832,RESET_EVENT+0x1fe0000,0,1)
--cannot activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetRange(LOCATION_FZONE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_SET_AVAILABLE)
e1:SetTargetRange(1,0)
e1:SetCondition(c121082832.negcon)
e1:SetValue(c121082832.actlimit)
Duel.RegisterEffect(e1,tp)
--cannot set
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SSET)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(1,0)
e2:SetCondition(c121082832.negcon)
e2:SetTarget(c121082832.setlimit)
e2:SetValue(c121082832.actlimit)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(1,1)
e3:SetCondition(c121082832.negcon)
e3:SetValue(c121082832.nofilter)
Duel.RegisterEffect(e3,tp)
--indes
local e4=Effect.CreateEffect(c)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetTargetRange(LOCATION_SZONE,0)
e4:SetTarget(c121082832.indtg)
e4:SetCondition(c121082832.negcon)
e4:SetCode(EFFECT_INDESTRUCTABLE)
e4:SetValue(1)
Duel.RegisterEffect(e4,tp)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_REMOVE)
Duel.RegisterEffect(e5,tp)
local e6=e4:Clone()
e6:SetCode(EFFECT_CANNOT_TO_DECK)
Duel.RegisterEffect(e6,tp)
local e7=e4:Clone()
e7:SetCode(EFFECT_CANNOT_TO_HAND)
Duel.RegisterEffect(e7,tp)
local e8=e4:Clone()
e8:SetCode(EFFECT_UNRELEASABLE_SUM)
Duel.RegisterEffect(e8,tp)
local e9=e4:Clone()
e9:SetCode(EFFECT_UNRELEASABLE_NONSUM)
Duel.RegisterEffect(e9,tp)
local e10=e4:Clone()
e10:SetCode(EFFECT_CANNOT_TO_GRAVE)
Duel.RegisterEffect(e10,tp)
--chage name
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_REPEAT+EFFECT_FLAG_DELAY+EFFECT_FLAG_SET_AVAILABLE)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(0xff,0xff)
e1:SetValue(121082832)
c:RegisterEffect(e1)
end
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
Duel.Draw(Duel.GetTurnPlayer(),5,REASON_RULE)
end
function c121082832.negcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsFacedown()
end
function c121082832.indtg(e,c)
return c:IsCode(121082832) and c:IsFacedown() and c:IsType(TYPE_FIELD) and c:GetFlagEffect(121082832)~=0
end
function c121082832.actlimit(e,re,tp)
return re:IsActiveType(TYPE_FIELD) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and not re:GetHandler():IsCode(121082832)
end
function c121082832.setlimit(e,c,tp)
return c:IsType(TYPE_FIELD)
end
function c121082832.nofilter(e,re,tp)
return re:GetHandler():IsCode(73468603)
end
......@@ -131,7 +131,6 @@ function c127541563.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
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_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end
function c127541563.spfilter(c,e,tp)
return c:IsSetCard(0x103) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -55,6 +55,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348030.drcon2)
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
function c22348030.filter(c)
return not c:IsPublic()
......@@ -155,6 +163,20 @@ function c22348030.drcon2(e)
return c:IsPublic() and Duel.IsPlayerAffectedByEffect(tp,22348037)
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)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348031.actcon2)
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
function c22348031.filter(c)
return not c:IsPublic()
......@@ -173,6 +181,21 @@ function c22348031.actcon2(e)
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)
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)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348032.drcon2)
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
function c22348032.filter(c)
return not c:IsPublic()
......@@ -167,4 +175,19 @@ function c22348032.indct(e,re,r,rp)
return 1
else return 0 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
local cm=_G["c"..m]
function cm.initial_effect(c)
--special summon
-- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND)
-- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND)
-- e1:SetCondition(c22348033.sprcon)
-- e1:SetOperation(c22348033.sprop)
-- c:RegisterEffect(e1)
-- c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22348033,2))
......@@ -55,6 +55,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348033.drcon2)
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
function c22348033.filter(c)
return not c:IsPublic()
......@@ -161,6 +169,21 @@ function c22348033.limval(e,re,rp)
local rc=re:GetHandler()
return rc:IsLocation(LOCATION_MZONE) and re:IsActiveType(TYPE_MONSTER) and rc:IsSummonType(SUMMON_TYPE_NORMAL)
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
local cm=_G["c"..m]
function cm.initial_effect(c)
--special summon
-- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND)
-- e1:SetCondition(c22348034.sprcon)
-- e1:SetOperation(c22348034.sprop)
-- c:RegisterEffect(e1)
-- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND)
-- e1:SetCondition(c22348034.sprcon)
-- e1:SetOperation(c22348034.sprop)
-- c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22348034,2))
......@@ -53,6 +53,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348034.drcon2)
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
......@@ -164,3 +172,18 @@ function c22348034.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,22348034)
Duel.NegateEffect(ev)
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
local cm=_G["c"..m]
function cm.initial_effect(c)
--special summon
-- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND)
-- e1:SetCondition(c22348035.sprcon)
-- e1:SetOperation(c22348035.sprop)
-- c:RegisterEffect(e1)
-- local e1=Effect.CreateEffect(c)
-- e1:SetType(EFFECT_TYPE_FIELD)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
-- e1:SetCode(EFFECT_SPSUMMON_PROC)
-- e1:SetRange(LOCATION_HAND)
-- e1:SetCondition(c22348035.sprcon)
-- e1:SetOperation(c22348035.sprop)
-- c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22348035,2))
......@@ -56,6 +56,14 @@ function cm.initial_effect(c)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348035.drcon2)
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
function c22348035.filter(c)
return not c:IsPublic()
......@@ -161,6 +169,21 @@ end
function c22348035.target(e,c)
return c:IsSetCard(0x700) and c:IsFaceup()
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)
e7:SetRange(LOCATION_SZONE+LOCATION_HAND)
e7:SetCondition(c22348036.drcon2)
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
function c22348036.filter(c)
return not c:IsPublic()
......@@ -186,6 +194,21 @@ function c22348036.drcon2(e)
local c=e:GetHandler()
return c:IsPublic() and Duel.IsPlayerAffectedByEffect(tp,22348037)
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)
e3:SetCondition(c22348039.descon)
c:RegisterEffect(e3)
--send replace
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetRange(LOCATION_SZONE)
e5:SetCode(EFFECT_SEND_REPLACE)
e5:SetTarget(c22348039.reptg)
e5:SetValue(c22348039.repval)
-- local e5=Effect.CreateEffect(c)
-- e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
-- e5:SetRange(LOCATION_SZONE)
-- e5:SetCode(EFFECT_SEND_REPLACE)
-- e5:SetTarget(c22348039.reptg)
-- 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)
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
function c22348039.descon(e)
local c=e:GetHandler()
......
......@@ -14,7 +14,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e0)
--to hand
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:SetCode(EVENT_TO_GRAVE)
e1:SetProperty(EFFECT_FLAG_DELAY)
......@@ -24,11 +24,11 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
--equip
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_EQUIP)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,m+200)
e2:SetCost(cm.spcost)
e2:SetTarget(cm.target)
e2:SetOperation(cm.activate)
c:RegisterEffect(e2)
......@@ -77,46 +77,27 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(g,REASON_EFFECT)
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)
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
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
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)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ec=e:GetHandler():GetEquipTarget()
if chk==0 then return ec and Duel.GetMZoneCount(tp,ec)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
if g:GetCount()>1 and Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if g:GetCount()>ft then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
g=g:Select(tp,ft,ft,nil)
local max=2
if Duel.GetMZoneCount(tp)<1 then return end
if Duel.GetMZoneCount(tp)<2 or Duel.IsPlayerAffectedByEffect(tp,59822133) then max=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,max,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
Duel.AdjustAll()
end
......@@ -30,7 +30,6 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,m+200)
e2:SetCondition(cm.con)
e2:SetTarget(cm.target)
e2:SetOperation(cm.activate)
c:RegisterEffect(e2)
end
......@@ -79,14 +78,15 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ec=e:GetHandler():GetEquipTarget()
return ec and ec:IsLevelAbove(1)
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 e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL)
e3:SetCode(EFFECT_CHANGE_LEVEL)
e3:SetValue(10)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e3)
......@@ -94,14 +94,6 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_DIRECT_ATTACK)
e2:SetCondition(cm.dircon)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
end
function cm.dircon(e)
return e:GetHandler():GetEquipTarget():GetControler()==e:GetHandlerPlayer()
end
......@@ -14,7 +14,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e0)
--to hand
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:SetCode(EVENT_TO_GRAVE)
e1:SetProperty(EFFECT_FLAG_DELAY)
......@@ -30,7 +30,6 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,m+200)
e2:SetCondition(cm.con)
e2:SetTarget(cm.target)
e2:SetOperation(cm.activate)
c:RegisterEffect(e2)
end
......@@ -64,29 +63,30 @@ end
function cm.eqlimit(e,c)
return c==e:GetLabelObject()
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)
end
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)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.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
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ec=e:GetHandler():GetEquipTarget()
return ec and ec:IsLevelAbove(1)
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 e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL)
e3:SetCode(EFFECT_CHANGE_LEVEL)
e3:SetValue(10)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e3)
......@@ -95,11 +95,6 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e5:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e5:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e5)
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