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
71794635
Commit
71794635
authored
May 18, 2014
by
VanillaSalt
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #786 from sidschingis/patch-5
new event
parents
b55fd0bb
abe1227c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
6 deletions
+34
-6
ocgcore/effect.h
ocgcore/effect.h
+1
-0
ocgcore/operations.cpp
ocgcore/operations.cpp
+33
-6
No files found.
ocgcore/effect.h
View file @
71794635
...
...
@@ -402,6 +402,7 @@ public:
#define EVENT_MSET 1106
#define EVENT_SSET 1107
#define EVENT_BE_MATERIAL 1108
#define EVENT_BE_PRE_MATERIAL 1109
#define EVENT_DRAW 1110
#define EVENT_DAMAGE 1111
#define EVENT_RECOVER 1112
...
...
ocgcore/operations.cpp
View file @
71794635
...
...
@@ -1396,6 +1396,15 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
core
.
normalsummon_state
[
sumplayer
]
=
TRUE
;
core
.
summoned_cards_pt
[
sumplayer
].
insert
(
target
);
core
.
normalsummoned_cards_pt
[
sumplayer
].
insert
(
target
);
if
(
target
->
material_cards
.
size
())
{
for
(
auto
mit
=
target
->
material_cards
.
begin
();
mit
!=
target
->
material_cards
.
end
();
++
mit
)
raise_single_event
(
*
mit
,
0
,
EVENT_BE_PRE_MATERIAL
,
proc
,
REASON_SUMMON
,
sumplayer
,
sumplayer
,
0
);
raise_event
(
&
target
->
material_cards
,
EVENT_BE_PRE_MATERIAL
,
proc
,
REASON_SUMMON
,
sumplayer
,
sumplayer
,
0
);
}
process_single_event
();
process_instant_event
();
if
(
core
.
current_chain
.
size
()
==
0
)
{
if
(
target
->
is_affected_by_effect
(
EFFECT_CANNOT_DISABLE_SUMMON
))
core
.
units
.
begin
()
->
step
=
14
;
...
...
@@ -2016,24 +2025,42 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card * target) {
pduel
->
write_buffer8
(
target
->
current
.
position
);
core
.
spsummon_state
[
sumplayer
]
=
TRUE
;
core
.
spsummoned_cards_pt
[
sumplayer
].
insert
(
target
);
if
(
core
.
current_chain
.
size
()
==
0
)
{
if
(
target
->
is_affected_by_effect
(
EFFECT_CANNOT_DISABLE_SPSUMMON
))
return
FALSE
;
}
case
5
:{
effect
*
proc
=
core
.
units
.
begin
()
->
peffect
;
int32
matreason
=
proc
->
value
==
SUMMON_TYPE_SYNCHRO
?
REASON_SYNCHRO
:
proc
->
value
==
SUMMON_TYPE_XYZ
?
REASON_XYZ
:
REASON_SPSUMMON
;
if
(
target
->
material_cards
.
size
())
{
for
(
auto
mit
=
target
->
material_cards
.
begin
();
mit
!=
target
->
material_cards
.
end
();
++
mit
)
raise_single_event
(
*
mit
,
0
,
EVENT_BE_PRE_MATERIAL
,
proc
,
matreason
,
sumplayer
,
sumplayer
,
0
);
}
raise_event
(
&
target
->
material_cards
,
EVENT_BE_PRE_MATERIAL
,
proc
,
matreason
,
sumplayer
,
sumplayer
,
0
);
process_single_event
();
process_instant_event
();
return
FALSE
;
}
case
6
:
{
if
(
core
.
current_chain
.
size
()
==
0
)
{
if
(
target
->
is_affected_by_effect
(
EFFECT_CANNOT_DISABLE_SPSUMMON
))
core
.
units
.
begin
()
->
step
=
14
;
else
core
.
units
.
begin
()
->
step
=
9
;
return
FALSE
;
}
else
if
(
core
.
current_chain
.
size
()
>
1
)
{
}
else
if
(
core
.
current_chain
.
size
()
>
1
)
{
core
.
units
.
begin
()
->
step
=
14
;
return
FALSE
;
}
else
{
if
(
target
->
is_affected_by_effect
(
EFFECT_CANNOT_DISABLE_SPSUMMON
))
}
else
{
if
(
target
->
is_affected_by_effect
(
EFFECT_CANNOT_DISABLE_SPSUMMON
))
core
.
units
.
begin
()
->
step
=
15
;
else
core
.
units
.
begin
()
->
step
=
10
;
core
.
reserved
=
core
.
units
.
front
();
return
TRUE
;
}
return
FALSE
;
}
case
10
:
{
core
.
summoning_card
=
0
;
...
...
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