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
511db883
Commit
511db883
authored
Jul 03, 2015
by
salix5
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
field::special_summon_step()
parent
0f19f8fc
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
44 deletions
+12
-44
ocgcore/operations.cpp
ocgcore/operations.cpp
+3
-3
ocgcore/processor.cpp
ocgcore/processor.cpp
+0
-33
script/c85431040.lua
script/c85431040.lua
+9
-8
No files found.
ocgcore/operations.cpp
View file @
511db883
...
@@ -2182,7 +2182,7 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card * target, ui
...
@@ -2182,7 +2182,7 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card * target, ui
raise_event
(
&
target
->
material_cards
,
EVENT_BE_MATERIAL
,
proc
,
matreason
,
sumplayer
,
sumplayer
,
0
);
raise_event
(
&
target
->
material_cards
,
EVENT_BE_MATERIAL
,
proc
,
matreason
,
sumplayer
,
sumplayer
,
0
);
process_single_event
();
process_single_event
();
process_instant_event
();
process_instant_event
();
return
false
;
return
FALSE
;
}
}
case
17
:
{
case
17
:
{
raise_single_event
(
target
,
0
,
EVENT_SPSUMMON_SUCCESS
,
core
.
units
.
begin
()
->
peffect
,
0
,
sumplayer
,
sumplayer
,
0
);
raise_single_event
(
target
,
0
,
EVENT_SPSUMMON_SUCCESS
,
core
.
units
.
begin
()
->
peffect
,
0
,
sumplayer
,
sumplayer
,
0
);
...
@@ -2416,6 +2416,7 @@ int32 field::special_summon_step(uint16 step, group * targets, card * target) {
...
@@ -2416,6 +2416,7 @@ int32 field::special_summon_step(uint16 step, group * targets, card * target) {
returns
.
ivalue
[
0
]
=
TRUE
;
returns
.
ivalue
[
0
]
=
TRUE
;
if
(
target
->
owner
!=
target
->
current
.
controler
)
if
(
target
->
owner
!=
target
->
current
.
controler
)
set_control
(
target
,
target
->
current
.
controler
,
0
,
0
);
set_control
(
target
,
target
->
current
.
controler
,
0
,
0
);
target
->
set_status
(
STATUS_SUMMONING
,
TRUE
);
return
TRUE
;
return
TRUE
;
}
}
}
}
...
@@ -2435,7 +2436,6 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
...
@@ -2435,7 +2436,6 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
if
(
!
cvs
.
empty
())
{
if
(
!
cvs
.
empty
())
{
if
(
cvs
.
size
()
>
1
)
if
(
cvs
.
size
()
>
1
)
std
::
sort
(
cvs
.
begin
(),
cvs
.
end
(),
card
::
card_operation_sort
);
std
::
sort
(
cvs
.
begin
(),
cvs
.
end
(),
card
::
card_operation_sort
);
//set_spsummon_counter(infos.turn_player);
core
.
hint_timing
[
infos
.
turn_player
]
|=
TIMING_SPSUMMON
;
core
.
hint_timing
[
infos
.
turn_player
]
|=
TIMING_SPSUMMON
;
for
(
auto
cvit
=
cvs
.
begin
();
cvit
!=
cvs
.
end
();
++
cvit
)
for
(
auto
cvit
=
cvs
.
begin
();
cvit
!=
cvs
.
end
();
++
cvit
)
add_process
(
PROCESSOR_SPSUMMON_STEP
,
0
,
0
,
targets
,
0
,
(
ptr
)(
*
cvit
));
add_process
(
PROCESSOR_SPSUMMON_STEP
,
0
,
0
,
targets
,
0
,
(
ptr
)(
*
cvit
));
...
@@ -2443,7 +2443,6 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
...
@@ -2443,7 +2443,6 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
if
(
!
cvo
.
empty
())
{
if
(
!
cvo
.
empty
())
{
if
(
cvo
.
size
()
>
1
)
if
(
cvo
.
size
()
>
1
)
std
::
sort
(
cvo
.
begin
(),
cvo
.
end
(),
card
::
card_operation_sort
);
std
::
sort
(
cvo
.
begin
(),
cvo
.
end
(),
card
::
card_operation_sort
);
//set_spsummon_counter(1 - infos.turn_player);
core
.
hint_timing
[
1
-
infos
.
turn_player
]
|=
TIMING_SPSUMMON
;
core
.
hint_timing
[
1
-
infos
.
turn_player
]
|=
TIMING_SPSUMMON
;
for
(
auto
cvit
=
cvo
.
begin
();
cvit
!=
cvo
.
end
();
++
cvit
)
for
(
auto
cvit
=
cvo
.
begin
();
cvit
!=
cvo
.
end
();
++
cvit
)
add_process
(
PROCESSOR_SPSUMMON_STEP
,
0
,
0
,
targets
,
0
,
(
ptr
)(
*
cvit
));
add_process
(
PROCESSOR_SPSUMMON_STEP
,
0
,
0
,
targets
,
0
,
(
ptr
)(
*
cvit
));
...
@@ -2476,6 +2475,7 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
...
@@ -2476,6 +2475,7 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
for
(
auto
cit
=
spsummon_once_set
[
1
].
begin
();
cit
!=
spsummon_once_set
[
1
].
end
();
++
cit
)
for
(
auto
cit
=
spsummon_once_set
[
1
].
begin
();
cit
!=
spsummon_once_set
[
1
].
end
();
++
cit
)
core
.
spsummon_once_map
[
1
][
*
cit
]
++
;
core
.
spsummon_once_map
[
1
][
*
cit
]
++
;
for
(
auto
cit
=
targets
->
container
.
begin
();
cit
!=
targets
->
container
.
end
();
++
cit
)
{
for
(
auto
cit
=
targets
->
container
.
begin
();
cit
!=
targets
->
container
.
end
();
++
cit
)
{
(
*
cit
)
->
set_status
(
STATUS_SUMMONING
,
FALSE
);
(
*
cit
)
->
set_status
(
STATUS_SUMMON_TURN
,
TRUE
);
(
*
cit
)
->
set_status
(
STATUS_SUMMON_TURN
,
TRUE
);
if
((
*
cit
)
->
is_position
(
POS_FACEUP
))
if
((
*
cit
)
->
is_position
(
POS_FACEUP
))
(
*
cit
)
->
enable_field_effect
(
TRUE
);
(
*
cit
)
->
enable_field_effect
(
TRUE
);
...
...
ocgcore/processor.cpp
View file @
511db883
...
@@ -4632,20 +4632,6 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
...
@@ -4632,20 +4632,6 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
raise_event
((
card
*
)
0
,
EVENT_CHAIN_NEGATED
,
peffect
,
0
,
cait
->
triggering_player
,
cait
->
triggering_player
,
cait
->
chain_count
);
raise_event
((
card
*
)
0
,
EVENT_CHAIN_NEGATED
,
peffect
,
0
,
cait
->
triggering_player
,
cait
->
triggering_player
,
cait
->
chain_count
);
process_instant_event
();
process_instant_event
();
core
.
units
.
begin
()
->
step
=
9
;
core
.
units
.
begin
()
->
step
=
9
;
/*if(cait->opinfos.count(0x200)) {
set_spsummon_counter(cait->triggering_player, false);
if((core.global_flag & GLOBALFLAG_SPSUMMON_ONCE) && (peffect->flag & EFFECT_FLAG_CARD_TARGET)) {
auto& optarget = cait->opinfos[0x200];
if(optarget.op_cards) {
for(auto opit = optarget.op_cards->container.begin(); opit != optarget.op_cards->container.end(); ++opit) {
if((*opit)->spsummon_code) {
uint8 sumpl = optarget.op_player ? 1 : 0;
core.spsummon_once_map[sumpl][(*opit)->spsummon_code]--;
}
}
}
}
}*/
return
FALSE
;
return
FALSE
;
}
}
for
(
auto
oeit
=
effects
.
oath
.
begin
();
oeit
!=
effects
.
oath
.
end
();
++
oeit
)
for
(
auto
oeit
=
effects
.
oath
.
begin
();
oeit
!=
effects
.
oath
.
end
();
++
oeit
)
...
@@ -4687,7 +4673,6 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
...
@@ -4687,7 +4673,6 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
return
FALSE
;
return
FALSE
;
}
}
}
}
//core.units.begin()->arg2 = core.spsummon_state_count[cait->triggering_player];
if
(
cait
->
replace_op
)
{
if
(
cait
->
replace_op
)
{
core
.
units
.
begin
()
->
peffect
=
(
effect
*
)(
size_t
)
cait
->
triggering_effect
->
operation
;
core
.
units
.
begin
()
->
peffect
=
(
effect
*
)(
size_t
)
cait
->
triggering_effect
->
operation
;
cait
->
triggering_effect
->
operation
=
cait
->
replace_op
;
cait
->
triggering_effect
->
operation
=
cait
->
replace_op
;
...
@@ -4703,25 +4688,7 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
...
@@ -4703,25 +4688,7 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
effect
*
peffect
=
cait
->
triggering_effect
;
effect
*
peffect
=
cait
->
triggering_effect
;
if
(
core
.
units
.
begin
()
->
peffect
)
{
if
(
core
.
units
.
begin
()
->
peffect
)
{
peffect
->
operation
=
(
ptr
)
core
.
units
.
begin
()
->
peffect
;
peffect
->
operation
=
(
ptr
)
core
.
units
.
begin
()
->
peffect
;
/*if(cait->opinfos.count(0x200)) {
set_spsummon_counter(cait->triggering_player,false);
if((core.global_flag & GLOBALFLAG_SPSUMMON_ONCE) && (peffect->flag & EFFECT_FLAG_CARD_TARGET)) {
auto& optarget = cait->opinfos[0x200];
if(optarget.op_cards) {
for(auto opit = optarget.op_cards->container.begin(); opit != optarget.op_cards->container.end(); ++opit) {
if((*opit)->spsummon_code) {
uint8 sumpl = optarget.op_player ? 1 : 0;
core.spsummon_once_map[sumpl][(*opit)->spsummon_code]--;
}
}
}
}
}*/
}
}
/*else {
if(cait->opinfos.count(0x200) && (core.units.begin()->arg2 != core.spsummon_state_count[cait->triggering_player]))
set_spsummon_counter(cait->triggering_player, false);
}*/
core
.
special_summoning
.
clear
();
core
.
special_summoning
.
clear
();
core
.
equiping_cards
.
clear
();
core
.
equiping_cards
.
clear
();
return
FALSE
;
return
FALSE
;
...
...
script/c85431040.lua
View file @
511db883
...
@@ -34,7 +34,7 @@ function c85431040.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -34,7 +34,7 @@ function c85431040.operation(e,tp,eg,ep,ev,re,r,rp)
local
sg
=
g
:
Select
(
tp
,
1
,
ft
,
nil
)
local
sg
=
g
:
Select
(
tp
,
1
,
ft
,
nil
)
local
tc
=
sg
:
GetFirst
()
local
tc
=
sg
:
GetFirst
()
while
tc
do
while
tc
do
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
if
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
--cannot trigger
--cannot trigger
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -42,6 +42,7 @@ function c85431040.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -42,6 +42,7 @@ function c85431040.operation(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
end
tc
=
sg
:
GetNext
()
tc
=
sg
:
GetNext
()
end
end
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
...
...
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