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
b633d09a
Commit
b633d09a
authored
Feb 01, 2025
by
salix5
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove warning C4018
parent
0e599a06
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
173 additions
and
173 deletions
+173
-173
card.cpp
card.cpp
+70
-70
effect.cpp
effect.cpp
+4
-4
field.cpp
field.cpp
+28
-28
libcard.cpp
libcard.cpp
+5
-5
libduel.cpp
libduel.cpp
+2
-2
operations.cpp
operations.cpp
+48
-48
processor.cpp
processor.cpp
+16
-16
No files found.
card.cpp
View file @
b633d09a
This diff is collapsed.
Click to expand it.
effect.cpp
View file @
b633d09a
...
...
@@ -216,7 +216,7 @@ int32_t effect::get_required_handorset_effects(effect_set* eset, uint8_t playeri
uint8_t
op
=
pduel
->
game_field
->
core
.
reason_player
;
pduel
->
game_field
->
core
.
reason_player
=
playerid
;
pduel
->
game_field
->
save_lp_cost
();
for
(
int32_t
i
=
0
;
i
<
tmp_eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
tmp_eset
.
size
();
++
i
)
{
auto
peffect
=
tmp_eset
[
i
];
if
(
peffect
->
check_count_limit
(
playerid
))
{
pduel
->
game_field
->
core
.
reason_effect
=
peffect
;
...
...
@@ -378,7 +378,7 @@ int32_t effect::is_activateable(uint8_t playerid, const tevent& e, int32_t negle
int32_t
effect
::
is_action_check
(
uint8_t
playerid
)
{
effect_set
eset
;
pduel
->
game_field
->
filter_player_effect
(
playerid
,
EFFECT_CANNOT_ACTIVATE
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
pduel
->
lua
->
add_param
(
this
,
PARAM_TYPE_EFFECT
);
pduel
->
lua
->
add_param
(
playerid
,
PARAM_TYPE_INT
);
if
(
eset
[
i
]
->
check_value_condition
(
2
))
...
...
@@ -386,7 +386,7 @@ int32_t effect::is_action_check(uint8_t playerid) {
}
eset
.
clear
();
pduel
->
game_field
->
filter_player_effect
(
playerid
,
EFFECT_ACTIVATE_COST
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
pduel
->
lua
->
add_param
(
eset
[
i
],
PARAM_TYPE_EFFECT
);
pduel
->
lua
->
add_param
(
this
,
PARAM_TYPE_EFFECT
);
pduel
->
lua
->
add_param
(
playerid
,
PARAM_TYPE_INT
);
...
...
@@ -574,7 +574,7 @@ int32_t effect::is_player_effect_target(card* pcard) {
}
int32_t
effect
::
is_immuned
(
card
*
pcard
)
{
const
effect_set_v
&
effects
=
pcard
->
immune_effect
;
for
(
int32_t
i
=
0
;
i
<
effects
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
effects
.
size
();
++
i
)
{
effect
*
peffect
=
effects
[
i
];
if
(
peffect
->
is_available
()
&&
peffect
->
value
)
{
pduel
->
lua
->
add_param
(
this
,
PARAM_TYPE_EFFECT
);
...
...
field.cpp
View file @
b633d09a
This diff is collapsed.
Click to expand it.
libcard.cpp
View file @
b633d09a
...
...
@@ -63,7 +63,7 @@ int32_t scriptlib::card_get_fusion_code(lua_State *L) {
return
count
;
effect_set
eset
;
pcard
->
filter_effect
(
EFFECT_ADD_FUSION_CODE
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
lua_pushinteger
(
L
,
eset
[
i
]
->
get_value
(
pcard
));
return
count
+
eset
.
size
();
}
...
...
@@ -80,7 +80,7 @@ int32_t scriptlib::card_get_link_code(lua_State *L) {
}
effect_set
eset
;
pcard
->
filter_effect
(
EFFECT_ADD_LINK_CODE
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
lua_pushinteger
(
L
,
eset
[
i
]
->
get_value
(
pcard
));
return
count
+
eset
.
size
();
}
...
...
@@ -98,7 +98,7 @@ int32_t scriptlib::card_is_fusion_code(lua_State *L) {
fcode
.
insert
(
code1
);
if
(
code2
)
fcode
.
insert
(
code2
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
fcode
.
insert
(
eset
[
i
]
->
get_value
(
pcard
));
uint32_t
count
=
lua_gettop
(
L
)
-
1
;
uint32_t
result
=
FALSE
;
...
...
@@ -128,7 +128,7 @@ int32_t scriptlib::card_is_link_code(lua_State *L) {
fcode
.
insert
(
code1
);
if
(
code2
)
fcode
.
insert
(
code2
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
fcode
.
insert
(
eset
[
i
]
->
get_value
(
pcard
));
uint32_t
count
=
lua_gettop
(
L
)
-
1
;
uint32_t
result
=
FALSE
;
...
...
@@ -1858,7 +1858,7 @@ int32_t scriptlib::card_is_has_effect(lua_State *L) {
check_player
=
PLAYER_NONE
;
}
int32_t
size
=
0
;
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
if
(
check_player
==
PLAYER_NONE
||
eset
[
i
]
->
check_count_limit
(
check_player
))
{
interpreter
::
effect2value
(
L
,
eset
[
i
]);
++
size
;
...
...
libduel.cpp
View file @
b633d09a
...
...
@@ -183,7 +183,7 @@ int32_t scriptlib::duel_get_flag_effect_label(lua_State *L) {
lua_pushnil
(
L
);
return
1
;
}
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
lua_pushinteger
(
L
,
eset
[
i
]
->
label
.
size
()
?
eset
[
i
]
->
label
[
0
]
:
0
);
return
eset
.
size
();
}
...
...
@@ -4281,7 +4281,7 @@ int32_t scriptlib::duel_is_player_affected_by_effect(lua_State *L) {
effect_set
eset
;
pduel
->
game_field
->
filter_player_effect
(
playerid
,
code
,
&
eset
);
int32_t
size
=
0
;
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
if
(
eset
[
i
]
->
check_count_limit
(
playerid
))
{
interpreter
::
effect2value
(
L
,
eset
[
i
]);
++
size
;
...
...
operations.cpp
View file @
b633d09a
This diff is collapsed.
Click to expand it.
processor.cpp
View file @
b633d09a
...
...
@@ -2148,7 +2148,7 @@ int32_t field::process_idle_command(uint16_t step) {
core
.
spsummonable_cards
.
clear
();
effect_set
eset
;
filter_field_effect
(
EFFECT_SPSUMMON_PROC
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
card
*
pcard
=
eset
[
i
]
->
get_handler
();
if
(
!
eset
[
i
]
->
check_count_limit
(
pcard
->
current
.
controler
))
continue
;
...
...
@@ -2157,7 +2157,7 @@ int32_t field::process_idle_command(uint16_t step) {
}
eset
.
clear
();
filter_field_effect
(
EFFECT_SPSUMMON_PROC_G
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
card
*
pcard
=
eset
[
i
]
->
get_handler
();
if
(
!
eset
[
i
]
->
check_count_limit
(
infos
.
turn_player
))
continue
;
...
...
@@ -2526,7 +2526,7 @@ int32_t field::process_battle_command(uint16_t step) {
effect_set
eset
;
filter_player_effect
(
infos
.
turn_player
,
EFFECT_ATTACK_COST
,
&
eset
,
FALSE
);
core
.
attacker
->
filter_effect
(
EFFECT_ATTACK_COST
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
if
(
eset
[
i
]
->
operation
)
{
core
.
attack_cancelable
=
FALSE
;
core
.
sub_solving_event
.
push_back
(
nil_event
);
...
...
@@ -3386,7 +3386,7 @@ void field::calculate_battle_damage(effect** pdamchange, card** preason_card, ui
if
(
eset
.
size
())
{
pierce
=
true
;
uint8_t
dp
[
2
]
=
{};
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
dp
[
1
-
eset
[
i
]
->
get_handler_player
()]
=
1
;
if
(
dp
[
0
])
core
.
battle_damage
[
0
]
=
attacker_value
-
defender_value
;
...
...
@@ -3394,7 +3394,7 @@ void field::calculate_battle_damage(effect** pdamchange, card** preason_card, ui
core
.
battle_damage
[
1
]
=
attacker_value
-
defender_value
;
bool
double_damage
=
false
;
//bool half_damage = false;
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
if
(
eset
[
i
]
->
get_value
()
==
DOUBLE_DAMAGE
)
double_damage
=
true
;
//if(eset[i]->get_value() == HALF_DAMAGE)
...
...
@@ -3484,7 +3484,7 @@ void field::calculate_battle_damage(effect** pdamchange, card** preason_card, ui
bool
double_dam
=
false
;
bool
half_dam
=
false
;
int32_t
dam_value
=
-
1
;
for
(
int32_t
i
=
0
;
i
<
change_effects
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
change_effects
.
size
();
++
i
)
{
int32_t
val
=
-
1
;
if
(
!
change_effects
[
i
]
->
is_flag
(
EFFECT_FLAG_PLAYER_TARGET
))
{
pduel
->
lua
->
add_param
(
p
,
PARAM_TYPE_INT
);
...
...
@@ -3606,7 +3606,7 @@ void field::calculate_battle_damage(effect** pdamchange, card** preason_card, ui
bool
half_dam
=
false
;
int32_t
dam_value
=
-
1
;
int32_t
current_min
=
INT32_MAX
;
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
int32_t
val
=
-
1
;
if
(
!
eset
[
i
]
->
is_flag
(
EFFECT_FLAG_PLAYER_TARGET
))
{
pduel
->
lua
->
add_param
(
p
,
PARAM_TYPE_INT
);
...
...
@@ -3992,7 +3992,7 @@ int32_t field::add_chain(uint16_t step) {
card
*
phandler
=
peffect
->
get_handler
();
effect_set
eset
;
filter_player_effect
(
clit
.
triggering_player
,
EFFECT_ACTIVATE_COST
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
pduel
->
lua
->
add_param
(
eset
[
i
],
PARAM_TYPE_EFFECT
);
pduel
->
lua
->
add_param
(
clit
.
triggering_effect
,
PARAM_TYPE_EFFECT
);
pduel
->
lua
->
add_param
(
clit
.
triggering_player
,
PARAM_TYPE_INT
);
...
...
@@ -4163,7 +4163,7 @@ int32_t field::add_chain(uint16_t step) {
auto
peffect
=
clit
.
triggering_effect
;
auto
playerid
=
clit
.
triggering_player
;
int32_t
ceffect_unique_id
=
0
;
for
(
int32_t
i
=
0
;
i
<
clit
.
required_handorset_effects
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
clit
.
required_handorset_effects
.
size
();
++
i
)
{
pduel
->
lua
->
add_param
(
peffect
,
PARAM_TYPE_EFFECT
);
pduel
->
lua
->
add_param
(
playerid
,
PARAM_TYPE_INT
);
auto
id
=
clit
.
required_handorset_effects
[
i
]
->
get_value
(
2
);
...
...
@@ -4182,7 +4182,7 @@ int32_t field::add_chain(uint16_t step) {
}
}
core
.
select_options
.
clear
();
for
(
int32_t
i
=
0
;
i
<
clit
.
required_handorset_effects
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
clit
.
required_handorset_effects
.
size
();
++
i
)
{
core
.
select_options
.
push_back
(
clit
.
required_handorset_effects
[
i
]
->
description
);
}
add_process
(
PROCESSOR_SELECT_OPTION
,
0
,
0
,
0
,
clit
.
triggering_player
,
0
);
...
...
@@ -4609,21 +4609,21 @@ void field::refresh_location_info_instant() {
player
[
0
].
disabled_location
=
0
;
player
[
1
].
disabled_location
=
0
;
filter_field_effect
(
EFFECT_DISABLE_FIELD
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
uint32_t
value
=
eset
[
i
]
->
get_value
();
player
[
0
].
disabled_location
|=
value
&
0x1f7f
;
player
[
1
].
disabled_location
|=
(
value
>>
16
)
&
0x1f7f
;
}
eset
.
clear
();
filter_field_effect
(
EFFECT_USE_EXTRA_MZONE
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
uint8_t
p
=
eset
[
i
]
->
get_handler_player
();
uint32_t
value
=
eset
[
i
]
->
get_value
();
player
[
p
].
disabled_location
|=
(
value
>>
16
)
&
0x1f
;
}
eset
.
clear
();
filter_field_effect
(
EFFECT_USE_EXTRA_SZONE
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
uint8_t
p
=
eset
[
i
]
->
get_handler_player
();
uint32_t
value
=
eset
[
i
]
->
get_value
();
player
[
p
].
disabled_location
|=
(
value
>>
8
)
&
0x1f00
;
...
...
@@ -4647,7 +4647,7 @@ int32_t field::refresh_location_info(uint16_t step) {
core
.
extra_mzone_effects
.
clear
();
core
.
extra_szone_effects
.
clear
();
filter_field_effect
(
EFFECT_DISABLE_FIELD
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
uint32_t
value
=
eset
[
i
]
->
get_value
();
if
(
value
)
{
player
[
0
].
disabled_location
|=
value
&
0x1f7f
;
...
...
@@ -4657,7 +4657,7 @@ int32_t field::refresh_location_info(uint16_t step) {
}
eset
.
clear
();
filter_field_effect
(
EFFECT_USE_EXTRA_MZONE
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
uint8_t
p
=
eset
[
i
]
->
get_handler_player
();
uint32_t
value
=
eset
[
i
]
->
get_value
();
player
[
p
].
disabled_location
|=
(
value
>>
16
)
&
0x1f
;
...
...
@@ -4666,7 +4666,7 @@ int32_t field::refresh_location_info(uint16_t step) {
}
eset
.
clear
();
filter_field_effect
(
EFFECT_USE_EXTRA_SZONE
,
&
eset
);
for
(
int32_t
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
for
(
effect_set
::
size_type
i
=
0
;
i
<
eset
.
size
();
++
i
)
{
uint8_t
p
=
eset
[
i
]
->
get_handler_player
();
uint32_t
value
=
eset
[
i
]
->
get_value
();
player
[
p
].
disabled_location
|=
(
value
>>
8
)
&
0x1f00
;
...
...
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