Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
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-520DIY
ygopro
Commits
b9a9560d
Commit
b9a9560d
authored
Dec 20, 2014
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new
parent
a777b9b3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
95 additions
and
0 deletions
+95
-0
ocgcore/operations.cpp
ocgcore/operations.cpp
+5
-0
script/c1686814.lua
script/c1686814.lua
+90
-0
No files found.
ocgcore/operations.cpp
View file @
b9a9560d
...
@@ -3562,6 +3562,7 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
...
@@ -3562,6 +3562,7 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
case
0
:
{
case
0
:
{
card_set
equipings
;
card_set
equipings
;
card_set
flips
;
card_set
flips
;
card_set
ssets
;
card_set
pos_changed
;
card_set
pos_changed
;
uint8
npos
,
opos
,
noflip
;
uint8
npos
,
opos
,
noflip
;
card_vector
cv
(
targets
->
container
.
begin
(),
targets
->
container
.
end
());
card_vector
cv
(
targets
->
container
.
begin
(),
targets
->
container
.
end
());
...
@@ -3632,6 +3633,8 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
...
@@ -3632,6 +3633,8 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
if
(
trapmonster
)
{
if
(
trapmonster
)
{
refresh_location_info_instant
();
refresh_location_info_instant
();
move_to_field
(
pcard
,
pcard
->
current
.
controler
,
pcard
->
current
.
controler
,
LOCATION_SZONE
,
POS_FACEDOWN
,
FALSE
,
2
);
move_to_field
(
pcard
,
pcard
->
current
.
controler
,
pcard
->
current
.
controler
,
LOCATION_SZONE
,
POS_FACEDOWN
,
FALSE
,
2
);
raise_single_event
(
pcard
,
0
,
EVENT_SSET
,
reason_effect
,
0
,
reason_player
,
0
,
0
);
ssets
.
insert
(
pcard
);
}
}
}
}
}
}
...
@@ -3639,6 +3642,8 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
...
@@ -3639,6 +3642,8 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
process_single_event
();
process_single_event
();
if
(
flips
.
size
())
if
(
flips
.
size
())
raise_event
(
&
flips
,
EVENT_FLIP
,
reason_effect
,
0
,
reason_player
,
0
,
0
);
raise_event
(
&
flips
,
EVENT_FLIP
,
reason_effect
,
0
,
reason_player
,
0
,
0
);
if
(
ssets
.
size
())
raise_event
(
&
ssets
,
EVENT_SSET
,
reason_effect
,
0
,
reason_player
,
0
,
0
);
if
(
pos_changed
.
size
())
if
(
pos_changed
.
size
())
raise_event
(
&
pos_changed
,
EVENT_CHANGE_POS
,
reason_effect
,
0
,
reason_player
,
0
,
0
);
raise_event
(
&
pos_changed
,
EVENT_CHANGE_POS
,
reason_effect
,
0
,
reason_player
,
0
,
0
);
process_instant_event
();
process_instant_event
();
...
...
script/c1686814.lua
0 → 100644
View file @
b9a9560d
--アルティマヤ・ツィオルキン
function
c1686814
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--spsummon condition
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
c
:
RegisterEffect
(
e1
)
--special summon rule
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e2
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e2
:
SetRange
(
LOCATION_EXTRA
)
e2
:
SetCondition
(
c1686814
.
sprcon
)
e2
:
SetOperation
(
c1686814
.
sprop
)
c
:
RegisterEffect
(
e2
)
--special summon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_SSET
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCondition
(
c1686814
.
spcon
)
e3
:
SetTarget
(
c1686814
.
sptg
)
e3
:
SetOperation
(
c1686814
.
spop
)
c
:
RegisterEffect
(
e3
)
--cannot be target
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetCode
(
EFFECT_CANNOT_BE_BATTLE_TARGET
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCondition
(
c1686814
.
tgcon
)
e4
:
SetValue
(
1
)
c
:
RegisterEffect
(
e4
)
local
e5
=
e4
:
Clone
()
e5
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
c
:
RegisterEffect
(
e5
)
end
function
c1686814
.
sprfilter1
(
c
,
tp
)
local
lv
=
c
:
GetLevel
()
return
lv
>
4
and
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToGraveAsCost
()
and
Duel
.
IsExistingMatchingCard
(
c1686814
.
sprfilter2
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
lv
)
end
function
c1686814
.
sprfilter2
(
c
,
lv
)
return
c
:
IsFaceup
()
and
c
:
GetLevel
()
==
lv
and
not
c
:
IsType
(
TYPE_TUNER
)
and
c
:
IsAbleToGraveAsCost
()
end
function
c1686814
.
sprcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
2
and
Duel
.
IsExistingMatchingCard
(
c1686814
.
sprfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
)
end
function
c1686814
.
sprop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c1686814
.
sprfilter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c1686814
.
sprfilter2
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
g1
:
GetFirst
():
GetLevel
())
g1
:
Merge
(
g2
)
Duel
.
SendtoGrave
(
g1
,
REASON_COST
)
end
function
c1686814
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
Card
.
IsControler
,
1
,
nil
,
tp
)
end
function
c1686814
.
spfilter
(
c
,
e
,
tp
)
return
(
c
:
IsSetCard
(
0xc2
)
or
(
c
:
GetLevel
()
==
7
or
c
:
GetLevel
()
==
8
))
and
c
:
IsType
(
TYPE_SYNCHRO
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
function
c1686814
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c1686814
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
c1686814
.
spop
(
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
,
c1686814
.
spfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
function
c1686814
.
tgfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_SYNCHRO
)
end
function
c1686814
.
tgcon
(
e
)
return
Duel
.
IsExistingMatchingCard
(
c1686814
.
tgfilter
,
e
:
GetHandlerPlayer
(),
LOCATION_MZONE
,
0
,
1
,
e
:
GetHandler
())
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