Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-core
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
nanahira
ygopro-core
Commits
192c4897
Commit
192c4897
authored
Oct 16, 2018
by
DailyShana
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rename and clean
parent
93d9406b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
34 deletions
+13
-34
field.h
field.h
+2
-2
operations.cpp
operations.cpp
+0
-5
processor.cpp
processor.cpp
+11
-27
No files found.
field.h
View file @
192c4897
...
...
@@ -230,8 +230,8 @@ struct processor {
card_set
set_group_pre_set
;
card_set
set_group_set
;
effect_set_v
disfield_effects
;
effect_set_v
extra
m
_effects
;
effect_set_v
extra
s
_effects
;
effect_set_v
extra
_mzone
_effects
;
effect_set_v
extra
_szone
_effects
;
std
::
set
<
effect
*>
reseted_effects
;
std
::
unordered_map
<
card
*
,
uint32
>
readjust_map
;
std
::
unordered_set
<
card
*>
unique_cards
[
2
];
...
...
operations.cpp
View file @
192c4897
...
...
@@ -195,9 +195,6 @@ void field::special_summon_complete(effect* reason_effect, uint8 reason_player)
//core.special_summoning.clear();
add_process
(
PROCESSOR_SPSUMMON_COMP_S
,
0
,
reason_effect
,
ng
,
reason_player
,
0
);
}
// destroy: 1st arg is card or card_set=>card version, otherwise=>step version
// destroy in script: here->PROCESSOR_DESTROY, step 0
// set current.reason
void
field
::
destroy
(
card_set
*
targets
,
effect
*
reason_effect
,
uint32
reason
,
uint32
reason_player
,
uint32
playerid
,
uint32
destination
,
uint32
sequence
)
{
for
(
auto
cit
=
targets
->
begin
();
cit
!=
targets
->
end
();)
{
card
*
pcard
=
*
cit
;
...
...
@@ -253,8 +250,6 @@ void field::release(card* target, effect* reason_effect, uint32 reason, uint32 r
tset
.
insert
(
target
);
release
(
&
tset
,
reason_effect
,
reason
,
reason_player
);
}
// set current.reason, sendto_param
// send-to in scripts: here->PROCESSOR_SENDTO, step 0
void
field
::
send_to
(
card_set
*
targets
,
effect
*
reason_effect
,
uint32
reason
,
uint32
reason_player
,
uint32
playerid
,
uint32
destination
,
uint32
sequence
,
uint32
position
)
{
if
(
destination
&
LOCATION_ONFIELD
)
return
;
...
...
processor.cpp
View file @
192c4897
...
...
@@ -1250,7 +1250,6 @@ int32 field::execute_target(uint16 step, effect * triggering_effect, uint8 trigg
}
return
FALSE
;
}
// add events to core.queue_event
void
field
::
raise_event
(
card
*
event_card
,
uint32
event_code
,
effect
*
reason_effect
,
uint32
reason
,
uint8
reason_player
,
uint8
event_player
,
uint32
event_value
)
{
tevent
new_event
;
new_event
.
trigger_card
=
0
;
...
...
@@ -1285,7 +1284,6 @@ void field::raise_event(card_set* event_cards, uint32 event_code, effect* reason
new_event
.
event_value
=
event_value
;
core
.
queue_event
.
push_back
(
new_event
);
}
// add events to core.single_event
void
field
::
raise_single_event
(
card
*
trigger_card
,
card_set
*
event_cards
,
uint32
event_code
,
effect
*
reason_effect
,
uint32
reason
,
uint8
reason_player
,
uint8
event_player
,
uint32
event_value
)
{
tevent
new_event
;
new_event
.
trigger_card
=
trigger_card
;
...
...
@@ -1303,7 +1301,6 @@ void field::raise_single_event(card* trigger_card, card_set* event_cards, uint32
new_event
.
event_value
=
event_value
;
core
.
single_event
.
push_back
(
new_event
);
}
// called by Duel.CheckEvent()
int32
field
::
check_event
(
uint32
code
,
tevent
*
pe
)
{
for
(
const
auto
&
ev
:
core
.
point_event
)
{
if
(
ev
.
event_code
==
code
)
{
...
...
@@ -1321,7 +1318,6 @@ int32 field::check_event(uint32 code, tevent * pe) {
}
return
FALSE
;
}
// called by Duel.CheckActivateEffect()
int32
field
::
check_event_c
(
effect
*
peffect
,
uint8
playerid
,
int32
neglect_con
,
int32
neglect_cost
,
int32
copy_info
,
tevent
*
pe
)
{
if
(
peffect
->
code
==
EVENT_FREE_CHAIN
)
{
return
peffect
->
is_activate_ready
(
playerid
,
nil_event
,
neglect_con
,
neglect_cost
,
FALSE
);
...
...
@@ -1650,8 +1646,6 @@ int32 field::process_phase_event(int16 step, int32 phase) {
}
return
TRUE
;
}
// move the events from core.instant_event to core.point_event
// skip_trigger = lower byte of arg1, skip_freechain = higher byte of arg1, skip_new = arg2
int32
field
::
process_point_event
(
int16
step
,
int32
skip_trigger
,
int32
skip_freechain
,
int32
skip_new
)
{
switch
(
step
)
{
case
0
:
{
...
...
@@ -2215,7 +2209,6 @@ int32 field::process_quick_effect(int16 step, int32 skip_freechain, uint8 priori
}
return
TRUE
;
}
// classify core.queue_event, process continuous effects, and move them to core.instant_event
int32
field
::
process_instant_event
()
{
if
(
core
.
queue_event
.
size
()
==
0
)
return
TRUE
;
...
...
@@ -3638,7 +3631,6 @@ int32 field::process_battle_command(uint16 step) {
}
return
TRUE
;
}
// perform damage calculation by an effect
int32
field
::
process_damage_step
(
uint16
step
,
uint32
new_attack
)
{
switch
(
step
)
{
case
0
:
{
...
...
@@ -3677,8 +3669,7 @@ int32 field::process_damage_step(uint16 step, uint32 new_attack) {
change_position
(
core
.
attack_target
,
0
,
PLAYER_NONE
,
core
.
attack_target
->
current
.
position
>>
1
,
0
,
TRUE
);
adjust_all
();
}
}
else
}
else
core
.
pre_field
[
1
]
=
0
;
return
FALSE
;
}
...
...
@@ -4823,14 +4814,10 @@ int32 field::break_effect() {
adjust_instant
();
return
0
;
}
// adjust, type 1
// adjust disable, self_destroy
void
field
::
adjust_instant
()
{
adjust_disable_check_list
();
adjust_self_destroy_set
();
}
// adjust, type 2 (including adjust_instant())
// adjust win, disable, control, self_destroy, equip, position, trap_monster
void
field
::
adjust_all
()
{
core
.
readjust_map
.
clear
();
add_process
(
PROCESSOR_ADJUST
,
0
,
0
,
0
,
0
,
0
);
...
...
@@ -4876,8 +4863,8 @@ int32 field::refresh_location_info(uint16 step) {
player
[
0
].
disabled_location
=
0
;
player
[
1
].
disabled_location
=
0
;
core
.
disfield_effects
.
clear
();
core
.
extra
m
_effects
.
clear
();
core
.
extra
s
_effects
.
clear
();
core
.
extra
_mzone
_effects
.
clear
();
core
.
extra
_szone
_effects
.
clear
();
filter_field_effect
(
EFFECT_DISABLE_FIELD
,
&
eset
);
for
(
int32
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
uint32
value
=
eset
[
i
]
->
get_value
();
...
...
@@ -4894,7 +4881,7 @@ int32 field::refresh_location_info(uint16 step) {
uint32
value
=
eset
[
i
]
->
get_value
();
player
[
p
].
disabled_location
|=
(
value
>>
16
)
&
0x1f
;
if
((
uint32
)
field_used_count
[(
value
>>
16
)
&
0x1f
]
<
(
value
&
0xffff
))
core
.
extra
m
_effects
.
add_item
(
eset
[
i
]);
core
.
extra
_mzone
_effects
.
add_item
(
eset
[
i
]);
}
eset
.
clear
();
filter_field_effect
(
EFFECT_USE_EXTRA_SZONE
,
&
eset
);
...
...
@@ -4903,7 +4890,7 @@ int32 field::refresh_location_info(uint16 step) {
uint32
value
=
eset
[
i
]
->
get_value
();
player
[
p
].
disabled_location
|=
(
value
>>
8
)
&
0x1f00
;
if
((
uint32
)
field_used_count
[(
value
>>
16
)
&
0x1f
]
<
(
value
&
0xffff
))
core
.
extra
s
_effects
.
add_item
(
eset
[
i
]);
core
.
extra
_szone
_effects
.
add_item
(
eset
[
i
]);
}
return
FALSE
;
}
...
...
@@ -4941,14 +4928,13 @@ int32 field::refresh_location_info(uint16 step) {
return
FALSE
;
}
case
3
:
{
// If the blocking number is not reached, we should block more slots.
if
(
core
.
extram_effects
.
size
()
==
0
)
{
if
(
core
.
extra_mzone_effects
.
size
()
==
0
)
{
core
.
units
.
begin
()
->
step
=
4
;
return
FALSE
;
}
effect
*
peffect
=
core
.
extra
m
_effects
[
0
];
effect
*
peffect
=
core
.
extra
_mzone
_effects
[
0
];
core
.
units
.
begin
()
->
peffect
=
peffect
;
core
.
extra
m
_effects
.
remove_item
(
0
);
core
.
extra
_mzone
_effects
.
remove_item
(
0
);
uint32
p
=
peffect
->
get_handler_player
();
uint32
mzone_flag
=
(
player
[
p
].
disabled_location
|
player
[
p
].
used_location
)
&
0x1f
;
if
(
mzone_flag
==
0x1f
)
{
...
...
@@ -4981,14 +4967,13 @@ int32 field::refresh_location_info(uint16 step) {
return
FALSE
;
}
case
5
:
{
// EFFECT_USE_EXTRA_SZONE version
if
(
core
.
extras_effects
.
size
()
==
0
)
{
if
(
core
.
extra_szone_effects
.
size
()
==
0
)
{
core
.
units
.
begin
()
->
step
=
6
;
return
FALSE
;
}
effect
*
peffect
=
core
.
extra
s
_effects
[
0
];
effect
*
peffect
=
core
.
extra
_szone
_effects
[
0
];
core
.
units
.
begin
()
->
peffect
=
peffect
;
core
.
extra
s
_effects
.
remove_item
(
0
);
core
.
extra
_szone
_effects
.
remove_item
(
0
);
uint32
p
=
peffect
->
get_handler_player
();
uint32
szone_flag
=
((
player
[
p
].
disabled_location
|
player
[
p
].
used_location
)
>>
8
)
&
0x1f
;
if
(
szone_flag
==
0x1f
)
{
...
...
@@ -5033,7 +5018,6 @@ int32 field::refresh_location_info(uint16 step) {
}
return
TRUE
;
}
// adjust_all() goes here
int32
field
::
adjust_step
(
uint16
step
)
{
switch
(
step
)
{
case
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