Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-THC-cards
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
八宫一月
ygopro-THC-cards
Commits
43f70886
Commit
43f70886
authored
May 25, 2022
by
wyykak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix 28050
Signed-off-by:
wyykak
<
wyy_1414@126.com
>
parent
d9b3253c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
43 additions
and
27 deletions
+43
-27
script/c28050.lua
script/c28050.lua
+43
-27
No files found.
script/c28050.lua
View file @
43f70886
...
@@ -59,33 +59,22 @@ function c28050.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -59,33 +59,22 @@ function c28050.op1(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetMatchingGroup
(
c28050
.
tfilter1
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c28050
.
tfilter1
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
c
)
if
g
:
GetCount
()
<=
0
then
return
end
if
g
:
GetCount
()
<=
0
then
return
end
if
Duel
.
Remove
(
g
,
POS_FACEDOWN
,
REASON_EFFECT
|
REASON_TEMPORARY
)
>
0
and
g
:
IsExists
(
Card
.
IsLocation
,
1
,
nil
,
LOCATION_REMOVED
)
then
if
Duel
.
Remove
(
g
,
POS_FACEDOWN
,
REASON_EFFECT
|
REASON_TEMPORARY
)
>
0
and
g
:
IsExists
(
Card
.
IsLocation
,
1
,
nil
,
LOCATION_REMOVED
)
then
local
og1
=
Duel
.
GetOperatedGroup
():
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
):
Filter
(
Card
.
IsPreviousLocation
,
nil
,
LOCATION_ONFIELD
)
local
og
=
Duel
.
GetOperatedGroup
():
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
)
local
og2
=
Duel
.
GetOperatedGroup
():
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_REMOVED
):
Filter
(
Card
.
IsPreviousLocation
,
nil
,
LOCATION_HAND
)
local
tc
=
og
:
GetFirst
()
local
tc
=
og1
:
GetFirst
()
while
tc
do
while
tc
do
tc
:
RegisterFlagEffect
(
28050
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
tc
:
RegisterFlagEffect
(
28050
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
tc
=
og
1
:
GetNext
()
tc
=
og
:
GetNext
()
end
end
tc
=
og2
:
GetFirst
()
og
:
KeepAlive
()
while
tc
do
tc
:
RegisterFlagEffect
(
28050
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
tc
=
og2
:
GetNext
()
end
og1
:
KeepAlive
()
og2
:
KeepAlive
()
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetLabelObject
(
og
1
)
e1
:
SetLabelObject
(
og
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
c28050
.
retcon
)
e1
:
SetCondition
(
c28050
.
retcon
)
e1
:
SetOperation
(
c28050
.
retop1
)
e1
:
SetOperation
(
c28050
.
retop1
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetLabelObject
(
og2
)
e2
:
SetOperation
(
c28050
.
retop2
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
end
local
num
=
g
:
FilterCount
(
c28050
.
ofilter1
,
nil
)
local
num
=
g
:
FilterCount
(
c28050
.
ofilter1
,
nil
)
if
num
<=
0
then
return
end
if
num
<=
0
then
return
end
...
@@ -108,18 +97,45 @@ function c28050.retcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -108,18 +97,45 @@ function c28050.retcon(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c28050
.
retop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c28050
.
retop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
local
g
=
e
:
GetLabelObject
()
local
tg
=
g
:
Filter
(
c28050
.
retfilter
,
nil
,
e
:
GetLabel
())
local
tg
=
g
:
Filter
(
c28050
.
retfilter
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
rc
=
tg
:
GetFirst
()
while
tc
do
while
rc
do
Duel
.
ReturnToField
(
tc
)
local
cp
=
rc
:
GetPreviousControler
()
tc
=
tg
:
GetNext
()
if
rc
:
GetPreviousLocation
()
==
LOCATION_HAND
then
Duel
.
SendtoHand
(
rc
,
cp
,
REASON_RULE
)
end
if
rc
:
IsPreviousLocation
(
LOCATION_ONFIELD
)
then
if
rc
:
IsType
(
TYPE_FIELD
)
and
rc
:
IsPreviousLocation
(
LOCATION_FZONE
)
then
local
pos
=
rc
:
GetPreviousPosition
()
if
Duel
.
GetFieldCard
(
cp
,
LOCATION_SZONE
,
5
)
then
Duel
.
SendtoGrave
(
rc
,
REASON_RULE
)
else
Duel
.
MoveToField
(
rc
,
cp
,
cp
,
LOCATION_FZONE
,
pos
,
true
)
end
elseif
rc
:
IsType
(
TYPE_PENDULUM
)
and
rc
:
IsPreviousLocation
(
LOCATION_PZONE
)
then
local
pos
=
rc
:
GetPreviousPosition
()
if
Duel
.
GetFieldCard
(
cp
,
LOCATION_PZONE
,
0
)
and
Duel
.
GetFieldCard
(
cp
,
LOCATION_PZONE
,
1
)
then
Duel
.
SendtoGrave
(
rc
,
REASON_RULE
)
else
Duel
.
MoveToField
(
rc
,
cp
,
cp
,
LOCATION_PZONE
,
pos
,
true
)
end
elseif
rc
:
IsType
(
TYPE_MONSTER
)
and
rc
:
IsPreviousLocation
(
LOCATION_SZONE
)
then
local
ty
=
rc
:
GetPreviousTypeOnField
()
if
Duel
.
ReturnToField
(
rc
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_SET_AVAILABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
-
RESET_TURN_SET
)
e1
:
SetValue
(
ty
)
rc
:
RegisterEffect
(
e1
,
true
)
end
else
Duel
.
ReturnToField
(
rc
)
end
end
rc
=
tg
:
GetNext
()
end
end
g
:
DeleteGroup
()
g
:
DeleteGroup
()
end
end
function
c28050
.
retop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
local
tg
=
g
:
Filter
(
c28050
.
retfilter
,
nil
,
e
:
GetLabel
())
Duel
.
SendtoHand
(
tg
,
nil
,
REASON_EFFECT
)
g
:
DeleteGroup
()
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment