Commit 3d17e55e authored by CubeRuler's avatar CubeRuler

fixed

parent fd63c6f5
Pipeline #15228 passed with stages
in 31 minutes and 14 seconds
...@@ -2,16 +2,16 @@ ...@@ -2,16 +2,16 @@
local m=33350005 local m=33350005
local cm=_G["c"..m] local cm=_G["c"..m]
function c33350005.initial_effect(c) function c33350005.initial_effect(c)
local e01=Effect.CreateEffect(c) local e01=Effect.CreateEffect(c)
e01:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e01:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e01:SetCode(EVENT_SUMMON_SUCCESS) e01:SetCode(EVENT_SUMMON_SUCCESS)
e01:SetRange(LOCATION_MZONE) e01:SetRange(LOCATION_MZONE)
e01:SetCondition(cm.e01con) e01:SetCondition(cm.e01con)
e01:SetOperation(cm.e01op) e01:SetOperation(cm.e01op)
c:RegisterEffect(e01) c:RegisterEffect(e01)
local e02=e01:Clone() local e02=e01:Clone()
e02:SetCode(EVENT_SPSUMMON_SUCCESS) e02:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e02) c:RegisterEffect(e02)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
...@@ -38,14 +38,14 @@ function cm.filter(c,tp) ...@@ -38,14 +38,14 @@ function cm.filter(c,tp)
end end
function cm.e01con(e,tp,eg,ep,ev,re,r,rp) function cm.e01con(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local c=e:GetHandler() local c=e:GetHandler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and eg:IsExists(cm.filter,1,nil,1-tp) return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and eg:IsExists(cm.filter,1,nil,1-tp)
end end
function cm.e01op(e,tp,eg,ep,ev,re,r,rp) function cm.e01op(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local c=e:GetHandler() local c=e:GetHandler()
local seq=c:GetSequence() local seq=c:GetSequence()
local nseq=math.randomseed(0,4) local nseq=Duel.TossDice(tp,1)-1
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
...@@ -54,29 +54,14 @@ function cm.e01op(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,29 +54,14 @@ function cm.e01op(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if Duel.GetLocationCount(tp,LOCATION_MZONE)==0 then if Duel.GetLocationCount(tp,LOCATION_MZONE)==0 then
return false return false
else
if Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq)then
Duel.MoveSequence(c,nseq)
elseif seq~=4 and Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq+1)then
Duel.MoveSequence(c,nseq+1)
elseif seq~=0 and Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq-1) then
Duel.MoveSequence(c,nseq-1)
elseif nseq+2<=4 and Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq+2)then
Duel.MoveSequence(c,nseq+2)
elseif nseq-2>=0 and Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq-2)then
Duel.MoveSequence(c,nseq-2)
elseif nseq-3>=0 and Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq-3)then
Duel.MoveSequence(c,nseq-3)
elseif nseq+3<=4 and Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq+3)then
Duel.MoveSequence(c,nseq+3)
elseif nseq-4>=0 and Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq-4)then
Duel.MoveSequence(c,nseq-4)
elseif nseq+4<=4 and Duel.CheckLocation(e:GetHandlerPlayer(),LOCATION_MZONE,nseq+4)then
Duel.MoveSequence(c,nseq+4)
end
end end
while nseq>4 or not Duel.CheckLocation(tp,LOCATION_MZONE,nseq) do
nseq=Duel.TossDice(tp,1)-1
end
Duel.MoveSequence(c,nseq)
if Duel.IsExistingMatchingCard(cm.tgfilter,tp,0,LOCATION_MZONE,1,nil) if Duel.IsExistingMatchingCard(cm.tgfilter,tp,0,LOCATION_MZONE,1,nil)
and Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then and Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local ng=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,0,LOCATION_MZONE,1,1,nil):GetFirst() local ng=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,0,LOCATION_MZONE,1,1,nil):GetFirst()
...@@ -89,7 +74,7 @@ function cm.e01op(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,7 +74,7 @@ function cm.e01op(e,tp,eg,ep,ev,re,r,rp)
e2:SetValue(-300) e2:SetValue(-300)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
ng:RegisterEffect(e2) ng:RegisterEffect(e2)
end end
end end
--效果1 --效果1
function cm.atlimit(e,re) function cm.atlimit(e,re)
......
...@@ -9,7 +9,7 @@ function c33350009.initial_effect(c) ...@@ -9,7 +9,7 @@ function c33350009.initial_effect(c)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0)) e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
...@@ -62,7 +62,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,7 +62,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_HAND+LOCATION_GRAVE,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_ATTACK)
end end
end end
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