Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-2pick
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
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
MyCard
ygopro-2pick
Commits
b08f8a88
Commit
b08f8a88
authored
Oct 25, 2014
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
b02fb8a8
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
31 additions
and
17 deletions
+31
-17
ocgcore/operations.cpp
ocgcore/operations.cpp
+10
-5
ocgcore/processor.cpp
ocgcore/processor.cpp
+4
-0
script/c13455953.lua
script/c13455953.lua
+4
-3
script/c37436476.lua
script/c37436476.lua
+5
-0
script/c55742055.lua
script/c55742055.lua
+3
-3
script/c65025250.lua
script/c65025250.lua
+1
-1
script/c82324312.lua
script/c82324312.lua
+4
-5
No files found.
ocgcore/operations.cpp
View file @
b08f8a88
...
@@ -2192,11 +2192,16 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card * target) {
...
@@ -2192,11 +2192,16 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card * target) {
}
}
case
25
:
{
case
25
:
{
group
*
pgroup
=
core
.
units
.
begin
()
->
ptarget
;
group
*
pgroup
=
core
.
units
.
begin
()
->
ptarget
;
card_set
cset
;
for
(
auto
cit
=
pgroup
->
container
.
begin
();
cit
!=
pgroup
->
container
.
end
();
++
cit
)
{
for
(
auto
cit
=
pgroup
->
container
.
begin
();
cit
!=
pgroup
->
container
.
end
();
++
cit
)
{
(
*
cit
)
->
set_status
(
STATUS_SUMMONING
,
TRUE
);
(
*
cit
)
->
set_status
(
STATUS_SUMMONING
,
TRUE
);
if
(
!
(
*
cit
)
->
is_affected_by_effect
(
EFFECT_CANNOT_DISABLE_SPSUMMON
))
{
raise_single_event
(
*
cit
,
0
,
EVENT_SPSUMMON
,
(
*
cit
)
->
current
.
reason_effect
,
0
,
(
*
cit
)
->
current
.
reason_player
,
(
*
cit
)
->
summon_player
,
0
);
raise_single_event
(
*
cit
,
0
,
EVENT_SPSUMMON
,
(
*
cit
)
->
current
.
reason_effect
,
0
,
(
*
cit
)
->
current
.
reason_player
,
(
*
cit
)
->
summon_player
,
0
);
cset
.
insert
(
*
cit
);
}
}
}
raise_event
(
&
pgroup
->
container
,
EVENT_SPSUMMON
,
core
.
units
.
begin
()
->
peffect
,
0
,
sumplayer
,
PLAYER_NONE
,
0
);
if
(
cset
.
size
())
raise_event
(
&
cset
,
EVENT_SPSUMMON
,
core
.
units
.
begin
()
->
peffect
,
0
,
sumplayer
,
PLAYER_NONE
,
0
);
process_single_event
();
process_single_event
();
process_instant_event
();
process_instant_event
();
add_process
(
PROCESSOR_POINT_EVENT
,
0
,
0
,
0
,
TRUE
,
TRUE
);
add_process
(
PROCESSOR_POINT_EVENT
,
0
,
0
,
0
,
TRUE
,
TRUE
);
...
@@ -4211,13 +4216,13 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
...
@@ -4211,13 +4216,13 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
for
(
auto
cit
=
core
.
release_cards_ex
.
begin
();
cit
!=
core
.
release_cards_ex
.
end
();
++
cit
)
for
(
auto
cit
=
core
.
release_cards_ex
.
begin
();
cit
!=
core
.
release_cards_ex
.
end
();
++
cit
)
rmax
+=
(
*
cit
)
->
operation_param
;
rmax
+=
(
*
cit
)
->
operation_param
;
core
.
temp_var
[
0
]
=
0
;
core
.
temp_var
[
0
]
=
0
;
if
(
rmax
<
min
)
if
(
rmax
<
min
)
{
returns
.
ivalue
[
0
]
=
TRUE
;
returns
.
ivalue
[
0
]
=
TRUE
;
else
if
(
!
core
.
release_cards_ex_sum
.
empty
())
{
if
(
rmax
==
0
&&
min
==
2
)
if
(
rmax
==
0
&&
min
==
2
)
core
.
temp_var
[
0
]
=
1
;
core
.
temp_var
[
0
]
=
1
;
}
else
if
(
!
core
.
release_cards_ex_sum
.
empty
())
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
playerid
,
92
);
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
playerid
,
92
);
}
else
else
core
.
units
.
begin
()
->
step
=
2
;
core
.
units
.
begin
()
->
step
=
2
;
return
FALSE
;
return
FALSE
;
}
}
...
...
ocgcore/processor.cpp
View file @
b08f8a88
...
@@ -4409,6 +4409,10 @@ int32 field::solve_continuous(uint16 step, effect * peffect, uint8 triggering_pl
...
@@ -4409,6 +4409,10 @@ int32 field::solve_continuous(uint16 step, effect * peffect, uint8 triggering_pl
switch
(
step
)
{
switch
(
step
)
{
case
0
:
{
case
0
:
{
core
.
solving_event
.
splice
(
core
.
solving_event
.
begin
(),
core
.
sub_solving_event
);
core
.
solving_event
.
splice
(
core
.
solving_event
.
begin
(),
core
.
sub_solving_event
);
if
(
!
peffect
->
check_count_limit
(
triggering_player
))
{
core
.
solving_event
.
pop_front
();
return
TRUE
;
}
chain
newchain
;
chain
newchain
;
newchain
.
chain_id
=
0
;
newchain
.
chain_id
=
0
;
newchain
.
chain_count
=
0
;
newchain
.
chain_count
=
0
;
...
...
script/c13455953.lua
View file @
b08f8a88
...
@@ -19,14 +19,15 @@ function c13455953.initial_effect(c)
...
@@ -19,14 +19,15 @@ function c13455953.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c13455953
.
sumop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c13455953
.
sumop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetFlagEffect
(
tp
,
13455953
)
~=
0
then
return
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
LOCATION_HAND
+
LOCATION_MZONE
,
0
)
e1
:
SetTargetRange
(
LOCATION_HAND
+
LOCATION_MZONE
,
0
)
e1
:
SetCode
(
EFFECT_EXTRA_SUMMON_COUNT
)
e1
:
SetCode
(
EFFECT_EXTRA_SUMMON_COUNT
)
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x42
))
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0x42
))
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e
:
GetHandler
():
RegisterEffect
(
e1
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterFlagEffect
(
tp
,
13455953
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
function
c13455953
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c13455953
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
script/c37436476.lua
View file @
b08f8a88
...
@@ -5,6 +5,8 @@ function c37436476.initial_effect(c)
...
@@ -5,6 +5,8 @@ function c37436476.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
TIMING_DAMAGE_STEP
)
e1
:
SetCondition
(
c37436476
.
condition
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--atk up
--atk up
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
@@ -16,6 +18,9 @@ function c37436476.initial_effect(c)
...
@@ -16,6 +18,9 @@ function c37436476.initial_effect(c)
e2
:
SetValue
(
c37436476
.
val
)
e2
:
SetValue
(
c37436476
.
val
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c37436476
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
~=
PHASE_DAMAGE
or
not
Duel
.
IsDamageCalculated
()
end
function
c37436476
.
val
(
e
,
c
)
function
c37436476
.
val
(
e
,
c
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsSetCard
,
c
:
GetControler
(),
LOCATION_GRAVE
,
0
,
nil
,
0x39
)
*
100
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsSetCard
,
c
:
GetControler
(),
LOCATION_GRAVE
,
0
,
nil
,
0x39
)
*
100
end
end
script/c55742055.lua
View file @
b08f8a88
...
@@ -87,8 +87,8 @@ function c55742055.target2(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -87,8 +87,8 @@ function c55742055.target2(e,tp,eg,ep,ev,re,r,rp,chk)
and
Duel
.
IsExistingMatchingCard
(
c55742055
.
filter2
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
and
Duel
.
IsExistingMatchingCard
(
c55742055
.
filter2
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
end
function
c55742055
.
eqfilter
(
c
,
tc
)
function
c55742055
.
eqfilter
(
c
,
tc
,
tp
)
return
c
:
IsType
(
TYPE_EQUIP
)
and
c
:
IsSetCard
(
0x207a
)
and
c
:
CheckEquipTarget
(
tc
)
return
c
:
IsType
(
TYPE_EQUIP
)
and
c
:
IsSetCard
(
0x207a
)
and
c
:
CheckEquipTarget
(
tc
)
and
c
:
CheckUniqueOnField
(
tp
)
end
end
function
c55742055
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c55742055
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
...
@@ -97,7 +97,7 @@ function c55742055.operation2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -97,7 +97,7 @@ function c55742055.operation2(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c55742055
.
filter2
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c55742055
.
filter2
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
local
tg
=
Duel
.
GetMatchingGroup
(
c55742055
.
eqfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
tc
)
local
tg
=
Duel
.
GetMatchingGroup
(
c55742055
.
eqfilter
,
tp
,
LOCATION_HAND
,
0
,
nil
,
tc
,
tp
)
if
tg
:
GetCount
()
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
55742055
,
4
))
then
if
tg
:
GetCount
()
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
55742055
,
4
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_EQUIP
)
...
...
script/c65025250.lua
View file @
b08f8a88
...
@@ -41,7 +41,7 @@ function c65025250.filter(c,tp)
...
@@ -41,7 +41,7 @@ function c65025250.filter(c,tp)
end
end
function
c65025250
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c65025250
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
c65025250
.
filter
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
eg
:
IsExists
(
c65025250
.
filter
,
1
,
nil
,
tp
)
end
return
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
65025250
,
0
))
return
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
65025250
,
1
))
end
end
function
c65025250
.
repval
(
e
,
c
)
function
c65025250
.
repval
(
e
,
c
)
return
c65025250
.
filter
(
c
,
e
:
GetHandlerPlayer
())
return
c65025250
.
filter
(
c
,
e
:
GetHandlerPlayer
())
...
...
script/c82324312.lua
View file @
b08f8a88
...
@@ -4,9 +4,8 @@ function c82324312.initial_effect(c)
...
@@ -4,9 +4,8 @@ function c82324312.initial_effect(c)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
82324312
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
82324312
,
0
))
e1
:
SetCategory
(
CATEGORY_TOGRAVE
)
e1
:
SetCategory
(
CATEGORY_TOGRAVE
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EVENT_BATTLE_DAMAGE
)
e1
:
SetCode
(
EVENT_DAMAGE
)
e1
:
SetCondition
(
c82324312
.
condition
)
e1
:
SetCondition
(
c82324312
.
condition
)
e1
:
SetOperation
(
c82324312
.
operation
)
e1
:
SetOperation
(
c82324312
.
operation
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
...
@@ -21,10 +20,10 @@ function c82324312.initial_effect(c)
...
@@ -21,10 +20,10 @@ function c82324312.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c82324312
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c82324312
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
ep
~=
tp
and
r
==
REASON_BATTLE
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
Duel
.
GetAttackTarget
()
==
nil
return
ep
~=
tp
and
Duel
.
GetAttackTarget
()
==
nil
end
end
function
c82324312
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c82324312
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetFieldGroup
(
ep
,
LOCATION_HAND
,
0
,
nil
)
local
g
=
Duel
.
GetFieldGroup
(
ep
,
LOCATION_HAND
,
0
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
local
sg
=
g
:
RandomSelect
(
ep
,
1
)
local
sg
=
g
:
RandomSelect
(
ep
,
1
)
Duel
.
ConfirmCards
(
tp
,
sg
)
Duel
.
ConfirmCards
(
tp
,
sg
)
...
...
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