Commit 426d25f2 authored by mercury233's avatar mercury233 Committed by GitHub

fix トリックスター・ライトステージ and ライトアリーナ (#1610)

parent 31ad3e2a
...@@ -73,7 +73,7 @@ function c35371948.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,7 +73,7 @@ function c35371948.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_TRIGGER) e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW)
e1:SetLabelObject(tc) e1:SetLabelObject(tc)
e1:SetCondition(c35371948.rcon) e1:SetCondition(c35371948.relcon)
e1:SetValue(1) e1:SetValue(1)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
--End of e1 --End of e1
...@@ -84,8 +84,8 @@ function c35371948.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,8 +84,8 @@ function c35371948.operation(e,tp,eg,ep,ev,re,r,rp)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW)
e2:SetLabel(fid) e2:SetLabel(fid)
e2:SetLabelObject(e1) e2:SetLabelObject(e1)
e2:SetCondition(c35371948.rstcon) e2:SetCondition(c35371948.endcon)
e2:SetOperation(c35371948.rstop) e2:SetOperation(c35371948.endop)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
--send to grave --send to grave
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -96,8 +96,8 @@ function c35371948.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,8 +96,8 @@ function c35371948.operation(e,tp,eg,ep,ev,re,r,rp)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW) e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW)
e3:SetLabel(fid) e3:SetLabel(fid)
e3:SetLabelObject(tc) e3:SetLabelObject(tc)
e3:SetCondition(c35371948.agcon) e3:SetCondition(c35371948.tgcon)
e3:SetOperation(c35371948.agop) e3:SetOperation(c35371948.tgop)
Duel.RegisterEffect(e3,1-tp) Duel.RegisterEffect(e3,1-tp)
--activate check --activate check
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -107,14 +107,15 @@ function c35371948.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -107,14 +107,15 @@ function c35371948.operation(e,tp,eg,ep,ev,re,r,rp)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW) e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW)
e4:SetLabel(fid) e4:SetLabel(fid)
e4:SetLabelObject(e3) e4:SetLabelObject(e3)
e4:SetOperation(c35371948.rstop2) e4:SetCondition(c35371948.rstcon)
e4:SetOperation(c35371948.rstop)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
end end
function c35371948.rcon(e) function c35371948.relcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) and e:GetHandler():GetFlagEffect(35371948)~=0 return e:GetOwner():IsHasCardTarget(e:GetHandler()) and e:GetHandler():GetFlagEffect(35371948)~=0
end end
function c35371948.rstcon(e,tp,eg,ep,ev,re,r,rp) function c35371948.endcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=e:GetLabelObject():GetLabelObject() local tc=e:GetLabelObject():GetLabelObject()
if tc:GetFlagEffectLabel(35371948)==e:GetLabel() if tc:GetFlagEffectLabel(35371948)==e:GetLabel()
...@@ -125,12 +126,12 @@ function c35371948.rstcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -125,12 +126,12 @@ function c35371948.rstcon(e,tp,eg,ep,ev,re,r,rp)
return false return false
end end
end end
function c35371948.rstop(e,tp,eg,ep,ev,re,r,rp) function c35371948.endop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
te:Reset() te:Reset()
Duel.HintSelection(Group.FromCards(e:GetHandler())) Duel.HintSelection(Group.FromCards(e:GetHandler()))
end end
function c35371948.agcon(e,tp,eg,ep,ev,re,r,rp) function c35371948.tgcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(35371948)==e:GetLabel() if tc:GetFlagEffectLabel(35371948)==e:GetLabel()
...@@ -141,17 +142,22 @@ function c35371948.agcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -141,17 +142,22 @@ function c35371948.agcon(e,tp,eg,ep,ev,re,r,rp)
return false return false
end end
end end
function c35371948.agop(e,tp,eg,ep,ev,re,r,rp) function c35371948.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
Duel.SendtoGrave(tc,REASON_RULE) Duel.SendtoGrave(tc,REASON_RULE)
end end
function c35371948.rstop2(e,tp,eg,ep,ev,re,r,rp) function c35371948.rstcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=eg:GetFirst() local tc=eg:GetFirst()
if tc:GetFlagEffectLabel(35371948)~=e:GetLabel() then return end return tc:GetFlagEffectLabel(35371948)==e:GetLabel()
and c:GetFlagEffectLabel(35371948)==e:GetLabel()
end
function c35371948.rstop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=eg:GetFirst()
c:CancelCardTarget(tc) c:CancelCardTarget(tc)
local te=e:GetLabelObject()
tc:ResetFlagEffect(35371948) tc:ResetFlagEffect(35371948)
local te=e:GetLabelObject()
if te then te:Reset() end if te then te:Reset() end
end end
function c35371948.damcon1(e,tp,eg,ep,ev,re,r,rp) function c35371948.damcon1(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -70,26 +70,29 @@ function c63492244.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -70,26 +70,29 @@ function c63492244.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_SZONE) and c63492244.cfilter(chkc) end if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_SZONE) and c63492244.cfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c63492244.cfilter,tp,0,LOCATION_SZONE,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingTarget(c63492244.cfilter,tp,0,LOCATION_SZONE,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(63492244,2)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(63492244,2))
Duel.SelectTarget(tp,c63492244.cfilter,tp,0,LOCATION_SZONE,1,1,e:GetHandler()) local g=Duel.SelectTarget(tp,c63492244.cfilter,tp,0,LOCATION_SZONE,1,1,e:GetHandler())
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
g:GetFirst():RegisterFlagEffect(63492245,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1,cid)
end end
function c63492244.operation(e,tp,eg,ep,ev,re,r,rp) function c63492244.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) and tc:GetFlagEffectLabel(63492245)==cid then
c:SetCardTarget(tc) c:SetCardTarget(tc)
e:SetLabelObject(tc) e:SetLabelObject(tc)
c:ResetFlagEffect(63492244) c:ResetFlagEffect(63492244)
tc:ResetFlagEffect(63492245) tc:ResetFlagEffect(63492244)
local fid=c:GetFieldID() local fid=c:GetFieldID()
c:RegisterFlagEffect(63492244,RESET_EVENT+RESETS_STANDARD,0,1,fid) c:RegisterFlagEffect(63492244,RESET_EVENT+RESETS_STANDARD,0,1,fid)
tc:RegisterFlagEffect(63492245,RESET_EVENT+RESETS_STANDARD,0,1,fid) tc:RegisterFlagEffect(63492244,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE) e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_CANNOT_TRIGGER) e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW)
e1:SetLabelObject(tc) e1:SetLabelObject(tc)
e1:SetCondition(c63492244.rcon) e1:SetCondition(c63492244.relcon)
e1:SetValue(1) e1:SetValue(1)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
--End of e1 --End of e1
...@@ -100,8 +103,8 @@ function c63492244.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -100,8 +103,8 @@ function c63492244.operation(e,tp,eg,ep,ev,re,r,rp)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW)
e2:SetLabel(fid) e2:SetLabel(fid)
e2:SetLabelObject(e1) e2:SetLabelObject(e1)
e2:SetCondition(c63492244.rstcon) e2:SetCondition(c63492244.endcon)
e2:SetOperation(c63492244.rstop) e2:SetOperation(c63492244.endop)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
--return to hand --return to hand
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -112,8 +115,8 @@ function c63492244.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -112,8 +115,8 @@ function c63492244.operation(e,tp,eg,ep,ev,re,r,rp)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW) e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW)
e3:SetLabel(fid) e3:SetLabel(fid)
e3:SetLabelObject(tc) e3:SetLabelObject(tc)
e3:SetCondition(c63492244.agcon) e3:SetCondition(c63492244.thcon)
e3:SetOperation(c63492244.agop) e3:SetOperation(c63492244.thop)
Duel.RegisterEffect(e3,1-tp) Duel.RegisterEffect(e3,1-tp)
--activate check --activate check
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -123,17 +126,18 @@ function c63492244.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -123,17 +126,18 @@ function c63492244.operation(e,tp,eg,ep,ev,re,r,rp)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW) e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DRAW)
e4:SetLabel(fid) e4:SetLabel(fid)
e4:SetLabelObject(e3) e4:SetLabelObject(e3)
e4:SetOperation(c63492244.rstop2) e4:SetCondition(c63492244.rstcon)
e4:SetOperation(c63492244.rstop)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
end end
function c63492244.rcon(e) function c63492244.relcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) and e:GetHandler():GetFlagEffect(63492245)~=0 return e:GetOwner():IsHasCardTarget(e:GetHandler()) and e:GetHandler():GetFlagEffect(63492244)~=0
end end
function c63492244.rstcon(e,tp,eg,ep,ev,re,r,rp) function c63492244.endcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=e:GetLabelObject():GetLabelObject() local tc=e:GetLabelObject():GetLabelObject()
if tc:GetFlagEffectLabel(63492245)==e:GetLabel() if tc:GetFlagEffectLabel(63492244)==e:GetLabel()
and c:GetFlagEffectLabel(63492244)==e:GetLabel() then and c:GetFlagEffectLabel(63492244)==e:GetLabel() then
return not c:IsDisabled() return not c:IsDisabled()
else else
...@@ -141,15 +145,15 @@ function c63492244.rstcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -141,15 +145,15 @@ function c63492244.rstcon(e,tp,eg,ep,ev,re,r,rp)
return false return false
end end
end end
function c63492244.rstop(e,tp,eg,ep,ev,re,r,rp) function c63492244.endop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
te:Reset() te:Reset()
Duel.HintSelection(Group.FromCards(e:GetHandler())) Duel.HintSelection(Group.FromCards(e:GetHandler()))
end end
function c63492244.agcon(e,tp,eg,ep,ev,re,r,rp) function c63492244.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(63492245)==e:GetLabel() if tc:GetFlagEffectLabel(63492244)==e:GetLabel()
and c:GetFlagEffectLabel(63492244)==e:GetLabel() then and c:GetFlagEffectLabel(63492244)==e:GetLabel() then
return not c:IsDisabled() return not c:IsDisabled()
else else
...@@ -157,18 +161,21 @@ function c63492244.agcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -157,18 +161,21 @@ function c63492244.agcon(e,tp,eg,ep,ev,re,r,rp)
return false return false
end end
end end
function c63492244.agop(e,tp,eg,ep,ev,re,r,rp) function c63492244.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SendtoHand(tc,nil,REASON_EFFECT)
end end
function c63492244.rstop2(e,tp,eg,ep,ev,re,r,rp) function c63492244.rstcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=eg:GetFirst() local tc=eg:GetFirst()
local te=e:GetLabelObject() return tc:GetFlagEffectLabel(63492244)==e:GetLabel()
if tc~=te:GetLabelObject() then return end and c:GetFlagEffectLabel(63492244)==e:GetLabel()
if tc:GetFlagEffectLabel(63492245)~=e:GetLabel() then return end end
function c63492244.rstop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=eg:GetFirst()
c:CancelCardTarget(tc) c:CancelCardTarget(tc)
tc:ResetFlagEffect(63492244)
local te=e:GetLabelObject() local te=e:GetLabelObject()
tc:ResetFlagEffect(63492245)
if te then te:Reset() end if te then te:Reset() 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