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
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-core
Commits
197b8f72
Commit
197b8f72
authored
Jan 15, 2016
by
Argon.Sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
warning
parent
1422a8d7
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
525 additions
and
526 deletions
+525
-526
card.cpp
card.cpp
+3
-3
field.cpp
field.cpp
+3
-3
interpreter.cpp
interpreter.cpp
+5
-5
libcard.cpp
libcard.cpp
+98
-98
libdebug.cpp
libdebug.cpp
+15
-15
libduel.cpp
libduel.cpp
+333
-333
libeffect.cpp
libeffect.cpp
+5
-5
libgroup.cpp
libgroup.cpp
+21
-21
operations.cpp
operations.cpp
+22
-22
playerop.cpp
playerop.cpp
+3
-3
processor.cpp
processor.cpp
+17
-18
No files found.
card.cpp
View file @
197b8f72
...
@@ -287,17 +287,17 @@ void card::update_infos_nocache(int32 query_flag) {
...
@@ -287,17 +287,17 @@ void card::update_infos_nocache(int32 query_flag) {
else
else
query_flag
&=
~
QUERY_EQUIP_CARD
;
query_flag
&=
~
QUERY_EQUIP_CARD
;
if
(
query_flag
&
QUERY_TARGET_CARD
)
{
if
(
query_flag
&
QUERY_TARGET_CARD
)
{
pduel
->
write_buffer32
(
effect_target_cards
.
size
());
pduel
->
write_buffer32
(
(
uint32
)
effect_target_cards
.
size
());
for
(
auto
&
cit
:
effect_target_cards
)
for
(
auto
&
cit
:
effect_target_cards
)
pduel
->
write_buffer32
(
cit
->
get_info_location
());
pduel
->
write_buffer32
(
cit
->
get_info_location
());
}
}
if
(
query_flag
&
QUERY_OVERLAY_CARD
)
{
if
(
query_flag
&
QUERY_OVERLAY_CARD
)
{
pduel
->
write_buffer32
(
xyz_materials
.
size
());
pduel
->
write_buffer32
(
(
uint32
)
xyz_materials
.
size
());
for
(
auto
&
cit
:
xyz_materials
)
for
(
auto
&
cit
:
xyz_materials
)
pduel
->
write_buffer32
(
cit
->
data
.
code
);
pduel
->
write_buffer32
(
cit
->
data
.
code
);
}
}
if
(
query_flag
&
QUERY_COUNTERS
)
{
if
(
query_flag
&
QUERY_COUNTERS
)
{
pduel
->
write_buffer32
(
counters
.
size
());
pduel
->
write_buffer32
(
(
uint32
)
counters
.
size
());
for
(
auto
&
ctit
:
counters
)
for
(
auto
&
ctit
:
counters
)
pduel
->
write_buffer32
(
ctit
.
first
+
((
ctit
.
second
[
0
]
+
ctit
.
second
[
1
])
<<
16
));
pduel
->
write_buffer32
(
ctit
.
first
+
((
ctit
.
second
[
0
]
+
ctit
.
second
[
1
])
<<
16
));
}
}
...
...
field.cpp
View file @
197b8f72
...
@@ -534,7 +534,7 @@ void field::shuffle(uint8 playerid, uint8 location) {
...
@@ -534,7 +534,7 @@ void field::shuffle(uint8 playerid, uint8 location) {
}
}
if
(
location
==
LOCATION_HAND
||
!
(
core
.
duel_options
&
DUEL_PSEUDO_SHUFFLE
))
{
if
(
location
==
LOCATION_HAND
||
!
(
core
.
duel_options
&
DUEL_PSEUDO_SHUFFLE
))
{
if
(
svector
.
size
()
>
1
)
{
if
(
svector
.
size
()
>
1
)
{
uint32
i
=
0
,
s
=
svector
.
size
(),
r
;
uint32
i
=
0
,
s
=
(
uint32
)
svector
.
size
(),
r
;
for
(
i
=
0
;
i
<
s
-
1
;
++
i
)
{
for
(
i
=
0
;
i
<
s
-
1
;
++
i
)
{
r
=
pduel
->
get_next_integer
(
i
,
s
-
1
);
r
=
pduel
->
get_next_integer
(
i
,
s
-
1
);
card
*
t
=
svector
[
i
];
card
*
t
=
svector
[
i
];
...
@@ -650,7 +650,7 @@ void field::swap_deck_and_grave(uint8 playerid) {
...
@@ -650,7 +650,7 @@ void field::swap_deck_and_grave(uint8 playerid) {
shuffle
(
playerid
,
LOCATION_DECK
);
shuffle
(
playerid
,
LOCATION_DECK
);
}
}
void
field
::
reverse_deck
(
uint8
playerid
)
{
void
field
::
reverse_deck
(
uint8
playerid
)
{
int32
count
=
player
[
playerid
].
list_main
.
size
();
int32
count
=
(
int32
)
player
[
playerid
].
list_main
.
size
();
if
(
count
==
0
)
if
(
count
==
0
)
return
;
return
;
for
(
int
i
=
0
;
i
<
count
/
2
;
++
i
)
{
for
(
int
i
=
0
;
i
<
count
/
2
;
++
i
)
{
...
@@ -1431,7 +1431,7 @@ void field::adjust_self_destroy_set() {
...
@@ -1431,7 +1431,7 @@ void field::adjust_self_destroy_set() {
if
(
core
.
global_flag
&
GLOBALFLAG_SELF_TOGRAVE
)
{
if
(
core
.
global_flag
&
GLOBALFLAG_SELF_TOGRAVE
)
{
for
(
auto
cit
=
cset
.
begin
();
cit
!=
cset
.
end
();
++
cit
)
{
for
(
auto
cit
=
cset
.
begin
();
cit
!=
cset
.
end
();
++
cit
)
{
card
*
pcard
=
*
cit
;
card
*
pcard
=
*
cit
;
if
(
peffect
=
pcard
->
is_affected_by_effect
(
EFFECT_SELF_TOGRAVE
))
{
if
(
(
peffect
=
pcard
->
is_affected_by_effect
(
EFFECT_SELF_TOGRAVE
)
))
{
core
.
self_tograve_set
.
insert
(
pcard
);
core
.
self_tograve_set
.
insert
(
pcard
);
pcard
->
current
.
reason_effect
=
peffect
;
pcard
->
current
.
reason_effect
=
peffect
;
pcard
->
current
.
reason_player
=
peffect
->
get_handler_player
();
pcard
->
current
.
reason_player
=
peffect
->
get_handler_player
();
...
...
interpreter.cpp
View file @
197b8f72
...
@@ -700,7 +700,7 @@ void interpreter::push_param(lua_State* L, bool is_coroutine) {
...
@@ -700,7 +700,7 @@ void interpreter::push_param(lua_State* L, bool is_coroutine) {
lua_pushstring
(
L
,
(
const
char
*
)
it
->
first
);
lua_pushstring
(
L
,
(
const
char
*
)
it
->
first
);
break
;
break
;
case
PARAM_TYPE_BOOLEAN
:
case
PARAM_TYPE_BOOLEAN
:
lua_pushboolean
(
L
,
(
ptr
)
it
->
first
);
lua_pushboolean
(
L
,
(
int32
)(
ptr
)
it
->
first
);
break
;
break
;
case
PARAM_TYPE_CARD
:
{
case
PARAM_TYPE_CARD
:
{
if
(
it
->
first
)
if
(
it
->
first
)
...
@@ -724,7 +724,7 @@ void interpreter::push_param(lua_State* L, bool is_coroutine) {
...
@@ -724,7 +724,7 @@ void interpreter::push_param(lua_State* L, bool is_coroutine) {
break
;
break
;
}
}
case
PARAM_TYPE_FUNCTION
:
{
case
PARAM_TYPE_FUNCTION
:
{
function2value
(
L
,
(
ptr
)
it
->
first
);
function2value
(
L
,
(
int32
)(
ptr
)
it
->
first
);
break
;
break
;
}
}
case
PARAM_TYPE_INDEX
:
{
case
PARAM_TYPE_INDEX
:
{
...
@@ -953,7 +953,7 @@ int32 interpreter::get_operation_value(card* pcard, int32 findex, int32 extraarg
...
@@ -953,7 +953,7 @@ int32 interpreter::get_operation_value(card* pcard, int32 findex, int32 extraarg
}
}
return
OPERATION_FAIL
;
return
OPERATION_FAIL
;
}
}
result
=
lua_tointeger
(
current_state
,
-
1
);
result
=
(
int32
)
lua_tointeger
(
current_state
,
-
1
);
lua_pop
(
current_state
,
1
);
lua_pop
(
current_state
,
1
);
no_action
--
;
no_action
--
;
call_depth
--
;
call_depth
--
;
...
@@ -975,7 +975,7 @@ int32 interpreter::get_function_value(int32 f, uint32 param_count) {
...
@@ -975,7 +975,7 @@ int32 interpreter::get_function_value(int32 f, uint32 param_count) {
if
(
lua_isboolean
(
current_state
,
-
1
))
if
(
lua_isboolean
(
current_state
,
-
1
))
result
=
lua_toboolean
(
current_state
,
-
1
);
result
=
lua_toboolean
(
current_state
,
-
1
);
else
else
result
=
lua_tointeger
(
current_state
,
-
1
);
result
=
(
int32
)
lua_tointeger
(
current_state
,
-
1
);
lua_pop
(
current_state
,
1
);
lua_pop
(
current_state
,
1
);
no_action
--
;
no_action
--
;
call_depth
--
;
call_depth
--
;
...
@@ -1041,7 +1041,7 @@ int32 interpreter::call_coroutine(int32 f, uint32 param_count, uint32 * yield_va
...
@@ -1041,7 +1041,7 @@ int32 interpreter::call_coroutine(int32 f, uint32 param_count, uint32 * yield_va
if
(
result
==
0
)
{
if
(
result
==
0
)
{
coroutines
.
erase
(
f
);
coroutines
.
erase
(
f
);
if
(
yield_value
)
if
(
yield_value
)
*
yield_value
=
lua_isboolean
(
rthread
,
-
1
)
?
lua_toboolean
(
rthread
,
-
1
)
:
lua_tointeger
(
rthread
,
-
1
);
*
yield_value
=
lua_isboolean
(
rthread
,
-
1
)
?
lua_toboolean
(
rthread
,
-
1
)
:
(
int32
)
lua_tointeger
(
rthread
,
-
1
);
current_state
=
lua_state
;
current_state
=
lua_state
;
call_depth
--
;
call_depth
--
;
if
(
call_depth
==
0
)
{
if
(
call_depth
==
0
)
{
...
...
libcard.cpp
View file @
197b8f72
This diff is collapsed.
Click to expand it.
libdebug.cpp
View file @
197b8f72
...
@@ -25,12 +25,12 @@ int32 scriptlib::debug_message(lua_State *L) {
...
@@ -25,12 +25,12 @@ int32 scriptlib::debug_message(lua_State *L) {
int32
scriptlib
::
debug_add_card
(
lua_State
*
L
)
{
int32
scriptlib
::
debug_add_card
(
lua_State
*
L
)
{
check_param_count
(
L
,
6
);
check_param_count
(
L
,
6
);
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
int32
code
=
lua_tointeger
(
L
,
1
);
int32
code
=
(
int32
)
lua_tointeger
(
L
,
1
);
int32
owner
=
lua_tointeger
(
L
,
2
);
int32
owner
=
(
int32
)
lua_tointeger
(
L
,
2
);
int32
playerid
=
lua_tointeger
(
L
,
3
);
int32
playerid
=
(
int32
)
lua_tointeger
(
L
,
3
);
int32
location
=
lua_tointeger
(
L
,
4
);
int32
location
=
(
int32
)
lua_tointeger
(
L
,
4
);
int32
sequence
=
lua_tointeger
(
L
,
5
);
int32
sequence
=
(
int32
)
lua_tointeger
(
L
,
5
);
int32
position
=
lua_tointeger
(
L
,
6
);
int32
position
=
(
int32
)
lua_tointeger
(
L
,
6
);
int32
proc
=
lua_toboolean
(
L
,
7
);
int32
proc
=
lua_toboolean
(
L
,
7
);
if
(
owner
!=
0
&&
owner
!=
1
)
if
(
owner
!=
0
&&
owner
!=
1
)
return
0
;
return
0
;
...
@@ -67,10 +67,10 @@ int32 scriptlib::debug_add_card(lua_State *L) {
...
@@ -67,10 +67,10 @@ int32 scriptlib::debug_add_card(lua_State *L) {
int32
scriptlib
::
debug_set_player_info
(
lua_State
*
L
)
{
int32
scriptlib
::
debug_set_player_info
(
lua_State
*
L
)
{
check_param_count
(
L
,
4
);
check_param_count
(
L
,
4
);
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
uint32
playerid
=
lua_tointeger
(
L
,
1
);
uint32
playerid
=
(
uint32
)
lua_tointeger
(
L
,
1
);
uint32
lp
=
lua_tointeger
(
L
,
2
);
uint32
lp
=
(
uint32
)
lua_tointeger
(
L
,
2
);
uint32
startcount
=
lua_tointeger
(
L
,
3
);
uint32
startcount
=
(
uint32
)
lua_tointeger
(
L
,
3
);
uint32
drawcount
=
lua_tointeger
(
L
,
4
);
uint32
drawcount
=
(
uint32
)
lua_tointeger
(
L
,
4
);
if
(
playerid
!=
0
&&
playerid
!=
1
)
if
(
playerid
!=
0
&&
playerid
!=
1
)
return
0
;
return
0
;
pduel
->
game_field
->
player
[
playerid
].
lp
=
lp
;
pduel
->
game_field
->
player
[
playerid
].
lp
=
lp
;
...
@@ -109,8 +109,8 @@ int32 scriptlib::debug_pre_add_counter(lua_State *L) {
...
@@ -109,8 +109,8 @@ int32 scriptlib::debug_pre_add_counter(lua_State *L) {
check_param_count
(
L
,
2
);
check_param_count
(
L
,
2
);
check_param
(
L
,
PARAM_TYPE_CARD
,
1
);
check_param
(
L
,
PARAM_TYPE_CARD
,
1
);
card
*
pcard
=
*
(
card
**
)
lua_touserdata
(
L
,
1
);
card
*
pcard
=
*
(
card
**
)
lua_touserdata
(
L
,
1
);
uint32
countertype
=
lua_tointeger
(
L
,
2
);
uint32
countertype
=
(
uint32
)
lua_tointeger
(
L
,
2
);
uint32
count
=
lua_tointeger
(
L
,
3
);
uint32
count
=
(
uint32
)
lua_tointeger
(
L
,
3
);
uint16
cttype
=
countertype
;
uint16
cttype
=
countertype
;
if
((
countertype
&
COUNTER_NEED_ENABLE
)
&&
!
(
countertype
&
COUNTER_NEED_PERMIT
))
if
((
countertype
&
COUNTER_NEED_ENABLE
)
&&
!
(
countertype
&
COUNTER_NEED_PERMIT
))
cttype
&=
0xfff
;
cttype
&=
0xfff
;
...
@@ -129,7 +129,7 @@ int32 scriptlib::debug_pre_add_counter(lua_State *L) {
...
@@ -129,7 +129,7 @@ int32 scriptlib::debug_pre_add_counter(lua_State *L) {
int32
scriptlib
::
debug_reload_field_begin
(
lua_State
*
L
)
{
int32
scriptlib
::
debug_reload_field_begin
(
lua_State
*
L
)
{
check_param_count
(
L
,
1
);
check_param_count
(
L
,
1
);
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
uint32
flag
=
lua_tointeger
(
L
,
1
);
uint32
flag
=
(
uint32
)
lua_tointeger
(
L
,
1
);
pduel
->
clear
();
pduel
->
clear
();
pduel
->
game_field
->
core
.
duel_options
=
flag
;
pduel
->
game_field
->
core
.
duel_options
=
flag
;
return
0
;
return
0
;
...
@@ -149,7 +149,7 @@ int32 scriptlib::debug_set_ai_name(lua_State *L) {
...
@@ -149,7 +149,7 @@ int32 scriptlib::debug_set_ai_name(lua_State *L) {
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
pduel
->
write_buffer8
(
MSG_AI_NAME
);
pduel
->
write_buffer8
(
MSG_AI_NAME
);
const
char
*
pstr
=
lua_tostring
(
L
,
1
);
const
char
*
pstr
=
lua_tostring
(
L
,
1
);
int
len
=
strlen
(
pstr
);
int
32
len
=
(
int32
)
strlen
(
pstr
);
if
(
len
>
100
)
if
(
len
>
100
)
len
=
100
;
len
=
100
;
pduel
->
write_buffer16
(
len
);
pduel
->
write_buffer16
(
len
);
...
@@ -165,7 +165,7 @@ int32 scriptlib::debug_show_hint(lua_State *L) {
...
@@ -165,7 +165,7 @@ int32 scriptlib::debug_show_hint(lua_State *L) {
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
duel
*
pduel
=
interpreter
::
get_duel_info
(
L
);
pduel
->
write_buffer8
(
MSG_SHOW_HINT
);
pduel
->
write_buffer8
(
MSG_SHOW_HINT
);
const
char
*
pstr
=
lua_tostring
(
L
,
1
);
const
char
*
pstr
=
lua_tostring
(
L
,
1
);
int
len
=
strlen
(
pstr
);
int
32
len
=
(
int32
)
strlen
(
pstr
);
if
(
len
>
1024
)
if
(
len
>
1024
)
len
=
1024
;
len
=
1024
;
pduel
->
write_buffer16
(
len
);
pduel
->
write_buffer16
(
len
);
...
...
libduel.cpp
View file @
197b8f72
This diff is collapsed.
Click to expand it.
libeffect.cpp
View file @
197b8f72
...
@@ -280,7 +280,7 @@ int32 scriptlib::effect_set_value(lua_State *L) {
...
@@ -280,7 +280,7 @@ int32 scriptlib::effect_set_value(lua_State *L) {
if
(
lua_isboolean
(
L
,
2
))
if
(
lua_isboolean
(
L
,
2
))
peffect
->
value
=
lua_toboolean
(
L
,
2
);
peffect
->
value
=
lua_toboolean
(
L
,
2
);
else
else
peffect
->
value
=
lua_tointeger
(
L
,
2
);
peffect
->
value
=
(
int32
)
lua_tointeger
(
L
,
2
);
}
}
return
0
;
return
0
;
}
}
...
@@ -473,7 +473,7 @@ int32 scriptlib::effect_is_active_type(lua_State *L) {
...
@@ -473,7 +473,7 @@ int32 scriptlib::effect_is_active_type(lua_State *L) {
check_param_count
(
L
,
2
);
check_param_count
(
L
,
2
);
check_param
(
L
,
PARAM_TYPE_EFFECT
,
1
);
check_param
(
L
,
PARAM_TYPE_EFFECT
,
1
);
effect
*
peffect
=
*
(
effect
**
)
lua_touserdata
(
L
,
1
);
effect
*
peffect
=
*
(
effect
**
)
lua_touserdata
(
L
,
1
);
uint32
tpe
=
lua_tointeger
(
L
,
2
);
uint32
tpe
=
(
uint32
)
lua_tointeger
(
L
,
2
);
uint32
atype
;
uint32
atype
;
if
(
peffect
->
type
&
0x7f0
)
{
if
(
peffect
->
type
&
0x7f0
)
{
if
(
peffect
->
active_type
)
if
(
peffect
->
active_type
)
...
@@ -503,7 +503,7 @@ int32 scriptlib::effect_is_has_category(lua_State *L) {
...
@@ -503,7 +503,7 @@ int32 scriptlib::effect_is_has_category(lua_State *L) {
check_param_count
(
L
,
2
);
check_param_count
(
L
,
2
);
check_param
(
L
,
PARAM_TYPE_EFFECT
,
1
);
check_param
(
L
,
PARAM_TYPE_EFFECT
,
1
);
effect
*
peffect
=
*
(
effect
**
)
lua_touserdata
(
L
,
1
);
effect
*
peffect
=
*
(
effect
**
)
lua_touserdata
(
L
,
1
);
uint32
tcate
=
lua_tointeger
(
L
,
2
);
uint32
tcate
=
(
uint32
)
lua_tointeger
(
L
,
2
);
if
(
peffect
&&
(
peffect
->
category
&
tcate
))
if
(
peffect
&&
(
peffect
->
category
&
tcate
))
lua_pushboolean
(
L
,
1
);
lua_pushboolean
(
L
,
1
);
else
else
...
@@ -514,7 +514,7 @@ int32 scriptlib::effect_is_has_type(lua_State *L) {
...
@@ -514,7 +514,7 @@ int32 scriptlib::effect_is_has_type(lua_State *L) {
check_param_count
(
L
,
2
);
check_param_count
(
L
,
2
);
check_param
(
L
,
PARAM_TYPE_EFFECT
,
1
);
check_param
(
L
,
PARAM_TYPE_EFFECT
,
1
);
effect
*
peffect
=
*
(
effect
**
)
lua_touserdata
(
L
,
1
);
effect
*
peffect
=
*
(
effect
**
)
lua_touserdata
(
L
,
1
);
uint32
ttype
=
lua_tointeger
(
L
,
2
);
uint32
ttype
=
(
uint32
)
lua_tointeger
(
L
,
2
);
if
(
peffect
&&
(
peffect
->
type
&
ttype
))
if
(
peffect
&&
(
peffect
->
type
&
ttype
))
lua_pushboolean
(
L
,
1
);
lua_pushboolean
(
L
,
1
);
else
else
...
@@ -524,7 +524,7 @@ int32 scriptlib::effect_is_has_type(lua_State *L) {
...
@@ -524,7 +524,7 @@ int32 scriptlib::effect_is_has_type(lua_State *L) {
int32
scriptlib
::
effect_is_activatable
(
lua_State
*
L
)
{
int32
scriptlib
::
effect_is_activatable
(
lua_State
*
L
)
{
check_param_count
(
L
,
2
);
check_param_count
(
L
,
2
);
check_param
(
L
,
PARAM_TYPE_EFFECT
,
1
);
check_param
(
L
,
PARAM_TYPE_EFFECT
,
1
);
uint32
playerid
=
lua_tointeger
(
L
,
2
);
uint32
playerid
=
(
uint32
)
lua_tointeger
(
L
,
2
);
effect
*
peffect
=
*
(
effect
**
)
lua_touserdata
(
L
,
1
);
effect
*
peffect
=
*
(
effect
**
)
lua_touserdata
(
L
,
1
);
lua_pushboolean
(
L
,
peffect
->
is_activateable
(
playerid
,
peffect
->
pduel
->
game_field
->
nil_event
));
lua_pushboolean
(
L
,
peffect
->
is_activateable
(
playerid
,
peffect
->
pduel
->
game_field
->
nil_event
));
return
1
;
return
1
;
...
...
libgroup.cpp
View file @
197b8f72
...
@@ -196,11 +196,11 @@ int32 scriptlib::group_filter_select(lua_State *L) {
...
@@ -196,11 +196,11 @@ int32 scriptlib::group_filter_select(lua_State *L) {
}
}
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
duel
*
pduel
=
pgroup
->
pduel
;
duel
*
pduel
=
pgroup
->
pduel
;
uint32
playerid
=
lua_tointeger
(
L
,
2
);
uint32
playerid
=
(
uint32
)
lua_tointeger
(
L
,
2
);
if
(
playerid
!=
0
&&
playerid
!=
1
)
if
(
playerid
!=
0
&&
playerid
!=
1
)
return
0
;
return
0
;
uint32
min
=
lua_tointeger
(
L
,
4
);
uint32
min
=
(
uint32
)
lua_tointeger
(
L
,
4
);
uint32
max
=
lua_tointeger
(
L
,
5
);
uint32
max
=
(
uint32
)
lua_tointeger
(
L
,
5
);
uint32
extraargs
=
lua_gettop
(
L
)
-
6
;
uint32
extraargs
=
lua_gettop
(
L
)
-
6
;
pduel
->
game_field
->
core
.
select_cards
.
clear
();
pduel
->
game_field
->
core
.
select_cards
.
clear
();
group
::
card_set
::
iterator
it
;
group
::
card_set
::
iterator
it
;
...
@@ -222,11 +222,11 @@ int32 scriptlib::group_select(lua_State *L) {
...
@@ -222,11 +222,11 @@ int32 scriptlib::group_select(lua_State *L) {
}
}
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
duel
*
pduel
=
pgroup
->
pduel
;
duel
*
pduel
=
pgroup
->
pduel
;
uint32
playerid
=
lua_tointeger
(
L
,
2
);
uint32
playerid
=
(
uint32
)
lua_tointeger
(
L
,
2
);
if
(
playerid
!=
0
&&
playerid
!=
1
)
if
(
playerid
!=
0
&&
playerid
!=
1
)
return
0
;
return
0
;
uint32
min
=
lua_tointeger
(
L
,
3
);
uint32
min
=
(
uint32
)
lua_tointeger
(
L
,
3
);
uint32
max
=
lua_tointeger
(
L
,
4
);
uint32
max
=
(
uint32
)
lua_tointeger
(
L
,
4
);
pduel
->
game_field
->
core
.
select_cards
.
clear
();
pduel
->
game_field
->
core
.
select_cards
.
clear
();
group
::
card_set
::
iterator
it
;
group
::
card_set
::
iterator
it
;
for
(
it
=
pgroup
->
container
.
begin
();
it
!=
pgroup
->
container
.
end
();
++
it
)
{
for
(
it
=
pgroup
->
container
.
begin
();
it
!=
pgroup
->
container
.
end
();
++
it
)
{
...
@@ -240,8 +240,8 @@ int32 scriptlib::group_random_select(lua_State *L) {
...
@@ -240,8 +240,8 @@ int32 scriptlib::group_random_select(lua_State *L) {
check_param_count
(
L
,
3
);
check_param_count
(
L
,
3
);
check_param
(
L
,
PARAM_TYPE_GROUP
,
1
);
check_param
(
L
,
PARAM_TYPE_GROUP
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
int32
playerid
=
lua_tointeger
(
L
,
2
);
int32
playerid
=
(
int32
)
lua_tointeger
(
L
,
2
);
int32
count
=
lua_tointeger
(
L
,
3
);
int32
count
=
(
int32
)
lua_tointeger
(
L
,
3
);
pgroup
->
pduel
->
game_field
->
add_process
(
PROCESSOR_RANDOM_SELECT_S
,
0
,
0
,
pgroup
,
playerid
,
count
);
pgroup
->
pduel
->
game_field
->
add_process
(
PROCESSOR_RANDOM_SELECT_S
,
0
,
0
,
pgroup
,
playerid
,
count
);
return
lua_yield
(
L
,
0
);
return
lua_yield
(
L
,
0
);
}
}
...
@@ -256,7 +256,7 @@ int32 scriptlib::group_is_exists(lua_State *L) {
...
@@ -256,7 +256,7 @@ int32 scriptlib::group_is_exists(lua_State *L) {
}
}
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
duel
*
pduel
=
pgroup
->
pduel
;
duel
*
pduel
=
pgroup
->
pduel
;
uint32
count
=
lua_tointeger
(
L
,
3
);
uint32
count
=
(
uint32
)
lua_tointeger
(
L
,
3
);
uint32
extraargs
=
lua_gettop
(
L
)
-
4
;
uint32
extraargs
=
lua_gettop
(
L
)
-
4
;
uint32
fcount
=
0
;
uint32
fcount
=
0
;
uint32
result
=
FALSE
;
uint32
result
=
FALSE
;
...
@@ -278,9 +278,9 @@ int32 scriptlib::group_check_with_sum_equal(lua_State *L) {
...
@@ -278,9 +278,9 @@ int32 scriptlib::group_check_with_sum_equal(lua_State *L) {
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
2
);
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
2
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
duel
*
pduel
=
pgroup
->
pduel
;
duel
*
pduel
=
pgroup
->
pduel
;
int32
acc
=
lua_tointeger
(
L
,
3
);
int32
acc
=
(
int32
)
lua_tointeger
(
L
,
3
);
int32
min
=
lua_tointeger
(
L
,
4
);
int32
min
=
(
int32
)
lua_tointeger
(
L
,
4
);
int32
max
=
lua_tointeger
(
L
,
5
);
int32
max
=
(
int32
)
lua_tointeger
(
L
,
5
);
if
(
min
<=
0
)
if
(
min
<=
0
)
min
=
1
;
min
=
1
;
if
(
max
<
min
)
if
(
max
<
min
)
...
@@ -288,7 +288,7 @@ int32 scriptlib::group_check_with_sum_equal(lua_State *L) {
...
@@ -288,7 +288,7 @@ int32 scriptlib::group_check_with_sum_equal(lua_State *L) {
int32
extraargs
=
lua_gettop
(
L
)
-
5
;
int32
extraargs
=
lua_gettop
(
L
)
-
5
;
field
::
card_vector
cv
;
field
::
card_vector
cv
;
cv
.
swap
(
pduel
->
game_field
->
core
.
must_select_cards
);
cv
.
swap
(
pduel
->
game_field
->
core
.
must_select_cards
);
int32
mcount
=
cv
.
size
();
int32
mcount
=
(
int32
)
cv
.
size
();
for
(
auto
cit
=
pgroup
->
container
.
begin
();
cit
!=
pgroup
->
container
.
end
();
++
cit
)
{
for
(
auto
cit
=
pgroup
->
container
.
begin
();
cit
!=
pgroup
->
container
.
end
();
++
cit
)
{
(
*
cit
)
->
operation_param
=
pduel
->
lua
->
get_operation_value
(
*
cit
,
2
,
extraargs
);
(
*
cit
)
->
operation_param
=
pduel
->
lua
->
get_operation_value
(
*
cit
,
2
,
extraargs
);
cv
.
push_back
(
*
cit
);
cv
.
push_back
(
*
cit
);
...
@@ -303,12 +303,12 @@ int32 scriptlib::group_select_with_sum_equal(lua_State *L) {
...
@@ -303,12 +303,12 @@ int32 scriptlib::group_select_with_sum_equal(lua_State *L) {
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
3
);
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
3
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
duel
*
pduel
=
pgroup
->
pduel
;
duel
*
pduel
=
pgroup
->
pduel
;
int32
playerid
=
lua_tointeger
(
L
,
2
);
int32
playerid
=
(
int32
)
lua_tointeger
(
L
,
2
);
if
(
playerid
!=
0
&&
playerid
!=
1
)
if
(
playerid
!=
0
&&
playerid
!=
1
)
return
0
;
return
0
;
int32
acc
=
lua_tointeger
(
L
,
4
);
int32
acc
=
(
int32
)
lua_tointeger
(
L
,
4
);
int32
min
=
lua_tointeger
(
L
,
5
);
int32
min
=
(
int32
)
lua_tointeger
(
L
,
5
);
int32
max
=
lua_tointeger
(
L
,
6
);
int32
max
=
(
int32
)
lua_tointeger
(
L
,
6
);
if
(
min
<=
0
)
if
(
min
<=
0
)
min
=
1
;
min
=
1
;
if
(
max
<
min
)
if
(
max
<
min
)
...
@@ -324,7 +324,7 @@ int32 scriptlib::group_select_with_sum_equal(lua_State *L) {
...
@@ -324,7 +324,7 @@ int32 scriptlib::group_select_with_sum_equal(lua_State *L) {
pduel
->
game_field
->
core
.
select_cards
.
erase
(
it
,
pduel
->
game_field
->
core
.
select_cards
.
end
());
pduel
->
game_field
->
core
.
select_cards
.
erase
(
it
,
pduel
->
game_field
->
core
.
select_cards
.
end
());
}
}
field
::
card_vector
cv
(
pduel
->
game_field
->
core
.
must_select_cards
);
field
::
card_vector
cv
(
pduel
->
game_field
->
core
.
must_select_cards
);
int32
mcount
=
cv
.
size
();
int32
mcount
=
(
int32
)
cv
.
size
();
cv
.
insert
(
cv
.
end
(),
pduel
->
game_field
->
core
.
select_cards
.
begin
(),
pduel
->
game_field
->
core
.
select_cards
.
end
());
cv
.
insert
(
cv
.
end
(),
pduel
->
game_field
->
core
.
select_cards
.
begin
(),
pduel
->
game_field
->
core
.
select_cards
.
end
());
if
(
!
field
::
check_with_sum_limit_m
(
cv
,
acc
,
0
,
min
,
max
,
mcount
))
if
(
!
field
::
check_with_sum_limit_m
(
cv
,
acc
,
0
,
min
,
max
,
mcount
))
return
0
;
return
0
;
...
@@ -337,7 +337,7 @@ int32 scriptlib::group_check_with_sum_greater(lua_State *L) {
...
@@ -337,7 +337,7 @@ int32 scriptlib::group_check_with_sum_greater(lua_State *L) {
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
2
);
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
2
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
duel
*
pduel
=
pgroup
->
pduel
;
duel
*
pduel
=
pgroup
->
pduel
;
int32
acc
=
lua_tointeger
(
L
,
3
);
int32
acc
=
(
int32
)
lua_tointeger
(
L
,
3
);
int32
extraargs
=
lua_gettop
(
L
)
-
3
;
int32
extraargs
=
lua_gettop
(
L
)
-
3
;
int32
sum
=
0
,
op
,
op1
,
op2
;
int32
sum
=
0
,
op
,
op1
,
op2
;
group
::
card_set
::
iterator
cit
;
group
::
card_set
::
iterator
cit
;
...
@@ -360,10 +360,10 @@ int32 scriptlib::group_select_with_sum_greater(lua_State *L) {
...
@@ -360,10 +360,10 @@ int32 scriptlib::group_select_with_sum_greater(lua_State *L) {
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
3
);
check_param
(
L
,
PARAM_TYPE_FUNCTION
,
3
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
group
*
pgroup
=
*
(
group
**
)
lua_touserdata
(
L
,
1
);
duel
*
pduel
=
pgroup
->
pduel
;
duel
*
pduel
=
pgroup
->
pduel
;
int32
playerid
=
lua_tointeger
(
L
,
2
);
int32
playerid
=
(
int32
)
lua_tointeger
(
L
,
2
);
if
(
playerid
!=
0
&&
playerid
!=
1
)
if
(
playerid
!=
0
&&
playerid
!=
1
)
return
0
;
return
0
;
int32
acc
=
lua_tointeger
(
L
,
4
);
int32
acc
=
(
int32
)
lua_tointeger
(
L
,
4
);
int32
extraargs
=
lua_gettop
(
L
)
-
4
;
int32
extraargs
=
lua_gettop
(
L
)
-
4
;
field
::
card_set
::
iterator
cit
;
field
::
card_set
::
iterator
cit
;
pduel
->
game_field
->
core
.
select_cards
.
clear
();
pduel
->
game_field
->
core
.
select_cards
.
clear
();
...
...
operations.cpp
View file @
197b8f72
...
@@ -917,7 +917,7 @@ int32 field::control_adjust(uint16 step) {
...
@@ -917,7 +917,7 @@ int32 field::control_adjust(uint16 step) {
core
.
units
.
begin
()
->
step
=
4
;
core
.
units
.
begin
()
->
step
=
4
;
}
else
{
}
else
{
core
.
temp_var
[
0
]
=
0
;
core
.
temp_var
[
0
]
=
0
;
uint32
count
=
core
.
control_adjust_set
[
0
].
size
()
-
core
.
control_adjust_set
[
1
].
size
()
-
b1
;
uint32
count
=
(
uint32
)
core
.
control_adjust_set
[
0
].
size
()
-
(
uint32
)
core
.
control_adjust_set
[
1
].
size
()
-
b1
;
core
.
select_cards
.
clear
();
core
.
select_cards
.
clear
();
for
(
auto
&
cit
:
core
.
control_adjust_set
[
0
])
for
(
auto
&
cit
:
core
.
control_adjust_set
[
0
])
core
.
select_cards
.
push_back
(
cit
);
core
.
select_cards
.
push_back
(
cit
);
...
@@ -937,7 +937,7 @@ int32 field::control_adjust(uint16 step) {
...
@@ -937,7 +937,7 @@ int32 field::control_adjust(uint16 step) {
core
.
units
.
begin
()
->
step
=
4
;
core
.
units
.
begin
()
->
step
=
4
;
}
else
{
}
else
{
core
.
temp_var
[
0
]
=
1
;
core
.
temp_var
[
0
]
=
1
;
uint32
count
=
core
.
control_adjust_set
[
1
].
size
()
-
core
.
control_adjust_set
[
0
].
size
()
-
b0
;
uint32
count
=
(
uint32
)
core
.
control_adjust_set
[
1
].
size
()
-
(
uint32
)
core
.
control_adjust_set
[
0
].
size
()
-
b0
;
core
.
select_cards
.
clear
();
core
.
select_cards
.
clear
();
for
(
auto
&
cit
:
core
.
control_adjust_set
[
1
])
for
(
auto
&
cit
:
core
.
control_adjust_set
[
1
])
core
.
select_cards
.
push_back
(
cit
);
core
.
select_cards
.
push_back
(
cit
);
...
@@ -1273,9 +1273,9 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
...
@@ -1273,9 +1273,9 @@ int32 field::summon(uint16 step, uint8 sumplayer, card * target, effect * proc,
returns
.
bvalue
[
0
]
=
0
;
returns
.
bvalue
[
0
]
=
0
;
else
{
else
{
int32
min
=
1
;
int32
min
=
1
;
int32
max
=
core
.
temp_var
[
0
]
>>
16
;
int32
max
=
(
int32
)
core
.
temp_var
[
0
]
>>
16
;
if
(
min
<
-
core
.
temp_var
[
1
]
+
1
)
{
if
(
min
<
(
int32
)(
-
core
.
temp_var
[
1
]
+
1
)
)
{
min
=
-
core
.
temp_var
[
1
]
+
1
;
min
=
(
int32
)(
-
core
.
temp_var
[
1
]
+
1
)
;
}
}
core
.
temp_var
[
0
]
=
min
+
(
max
<<
16
);
core
.
temp_var
[
0
]
=
min
+
(
max
<<
16
);
add_process
(
PROCESSOR_SELECT_TRIBUTE
,
0
,
0
,
0
,
sumplayer
+
((
uint32
)
core
.
summon_cancelable
<<
16
),
core
.
temp_var
[
0
]);
add_process
(
PROCESSOR_SELECT_TRIBUTE
,
0
,
0
,
0
,
sumplayer
+
((
uint32
)
core
.
summon_cancelable
<<
16
),
core
.
temp_var
[
0
]);
...
@@ -1783,9 +1783,9 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
...
@@ -1783,9 +1783,9 @@ int32 field::mset(uint16 step, uint8 setplayer, card * target, effect * proc, ui
returns
.
bvalue
[
0
]
=
0
;
returns
.
bvalue
[
0
]
=
0
;
else
{
else
{
int32
min
=
1
;
int32
min
=
1
;
int32
max
=
core
.
temp_var
[
0
]
>>
16
;
int32
max
=
(
int32
)
core
.
temp_var
[
0
]
>>
16
;
if
(
min
<
-
core
.
temp_var
[
1
]
+
1
)
{
if
(
min
<
(
int32
)(
-
core
.
temp_var
[
1
]
+
1
)
)
{
min
=
-
core
.
temp_var
[
1
]
+
1
;
min
=
(
int32
)(
-
core
.
temp_var
[
1
]
+
1
)
;
}
}
core
.
temp_var
[
0
]
=
min
+
(
max
<<
16
);
core
.
temp_var
[
0
]
=
min
+
(
max
<<
16
);
add_process
(
PROCESSOR_SELECT_TRIBUTE
,
0
,
0
,
0
,
setplayer
+
((
uint32
)
core
.
summon_cancelable
<<
16
),
core
.
temp_var
[
0
]);
add_process
(
PROCESSOR_SELECT_TRIBUTE
,
0
,
0
,
0
,
setplayer
+
((
uint32
)
core
.
summon_cancelable
<<
16
),
core
.
temp_var
[
0
]);
...
@@ -2034,7 +2034,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
...
@@ -2034,7 +2034,7 @@ int32 field::sset_g(uint16 step, uint8 setplayer, uint8 toplayer, group* ptarget
return
FALSE
;
return
FALSE
;
}
}
case
3
:
{
case
3
:
{
returns
.
ivalue
[
0
]
=
core
.
operated_set
.
size
();
returns
.
ivalue
[
0
]
=
(
int32
)
core
.
operated_set
.
size
();
adjust_instant
();
adjust_instant
();
raise_event
(
&
core
.
operated_set
,
EVENT_SSET
,
0
,
0
,
setplayer
,
setplayer
,
0
);
raise_event
(
&
core
.
operated_set
,
EVENT_SSET
,
0
,
0
,
setplayer
,
setplayer
,
0
);
process_instant_event
();
process_instant_event
();
...
@@ -2582,7 +2582,7 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
...
@@ -2582,7 +2582,7 @@ int32 field::special_summon(uint16 step, effect * reason_effect, uint8 reason_pl
case
4
:
{
case
4
:
{
core
.
operated_set
.
clear
();
core
.
operated_set
.
clear
();
core
.
operated_set
=
targets
->
container
;
core
.
operated_set
=
targets
->
container
;
returns
.
ivalue
[
0
]
=
targets
->
container
.
size
();
returns
.
ivalue
[
0
]
=
(
int32
)
targets
->
container
.
size
();
pduel
->
delete_group
(
targets
);
pduel
->
delete_group
(
targets
);
return
TRUE
;
return
TRUE
;
}
}
...
@@ -2784,7 +2784,7 @@ int32 field::destroy(uint16 step, group * targets, effect * reason_effect, uint3
...
@@ -2784,7 +2784,7 @@ int32 field::destroy(uint16 step, group * targets, effect * reason_effect, uint3
else
else
cit
++
;
cit
++
;
}
}
returns
.
ivalue
[
0
]
=
core
.
operated_set
.
size
();
returns
.
ivalue
[
0
]
=
(
int32
)
core
.
operated_set
.
size
();
pduel
->
delete_group
(
targets
);
pduel
->
delete_group
(
targets
);
return
TRUE
;
return
TRUE
;
}
}
...
@@ -2959,7 +2959,7 @@ int32 field::release(uint16 step, group * targets, effect * reason_effect, uint3
...
@@ -2959,7 +2959,7 @@ int32 field::release(uint16 step, group * targets, effect * reason_effect, uint3
case
4
:
{
case
4
:
{
core
.
operated_set
.
clear
();
core
.
operated_set
.
clear
();
core
.
operated_set
=
targets
->
container
;
core
.
operated_set
=
targets
->
container
;
returns
.
ivalue
[
0
]
=
targets
->
container
.
size
();
returns
.
ivalue
[
0
]
=
(
int32
)
targets
->
container
.
size
();
pduel
->
delete_group
(
targets
);
pduel
->
delete_group
(
targets
);
return
TRUE
;
return
TRUE
;
}
}
...
@@ -3145,8 +3145,8 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
...
@@ -3145,8 +3145,8 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
if
(
param
->
cv
.
size
()
>
1
)
if
(
param
->
cv
.
size
()
>
1
)
std
::
sort
(
param
->
cv
.
begin
(),
param
->
cv
.
end
(),
card
::
card_operation_sort
);
std
::
sort
(
param
->
cv
.
begin
(),
param
->
cv
.
end
(),
card
::
card_operation_sort
);
if
(
core
.
global_flag
&
GLOBALFLAG_DECK_REVERSE_CHECK
)
{
if
(
core
.
global_flag
&
GLOBALFLAG_DECK_REVERSE_CHECK
)
{
int32
d0
=
player
[
0
].
list_main
.
size
()
-
1
,
s0
=
d0
;
int32
d0
=
(
int32
)
player
[
0
].
list_main
.
size
()
-
1
,
s0
=
d0
;
int32
d1
=
player
[
1
].
list_main
.
size
()
-
1
,
s1
=
d1
;
int32
d1
=
(
int32
)
player
[
1
].
list_main
.
size
()
-
1
,
s1
=
d1
;
for
(
uint32
i
=
0
;
i
<
param
->
cv
.
size
();
++
i
)
{
for
(
uint32
i
=
0
;
i
<
param
->
cv
.
size
();
++
i
)
{
card
*
pcard
=
param
->
cv
[
i
];
card
*
pcard
=
param
->
cv
[
i
];
if
(
pcard
->
current
.
location
!=
LOCATION_DECK
)
if
(
pcard
->
current
.
location
!=
LOCATION_DECK
)
...
@@ -3463,7 +3463,7 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
...
@@ -3463,7 +3463,7 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
case
11
:
{
case
11
:
{
core
.
operated_set
.
clear
();
core
.
operated_set
.
clear
();
core
.
operated_set
=
targets
->
container
;
core
.
operated_set
=
targets
->
container
;
returns
.
ivalue
[
0
]
=
targets
->
container
.
size
();
returns
.
ivalue
[
0
]
=
(
int32
)
targets
->
container
.
size
();
core
.
update_field
=
TRUE
;
core
.
update_field
=
TRUE
;
pduel
->
delete_group
(
targets
);
pduel
->
delete_group
(
targets
);
return
TRUE
;
return
TRUE
;
...
@@ -3588,7 +3588,7 @@ int32 field::discard_deck(uint16 step, uint8 playerid, uint8 count, uint32 reaso
...
@@ -3588,7 +3588,7 @@ int32 field::discard_deck(uint16 step, uint8 playerid, uint8 count, uint32 reaso
case
2
:
{
case
2
:
{
core
.
operated_set
.
clear
();
core
.
operated_set
.
clear
();
core
.
operated_set
=
core
.
discarded_set
;
core
.
operated_set
=
core
.
discarded_set
;
returns
.
ivalue
[
0
]
=
core
.
discarded_set
.
size
();
returns
.
ivalue
[
0
]
=
(
int32
)
core
.
discarded_set
.
size
();
core
.
discarded_set
.
clear
();
core
.
discarded_set
.
clear
();
core
.
update_field
=
TRUE
;
core
.
update_field
=
TRUE
;
return
TRUE
;
return
TRUE
;
...
@@ -3865,7 +3865,7 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
...
@@ -3865,7 +3865,7 @@ int32 field::change_position(uint16 step, group * targets, effect * reason_effec
case
1
:
{
case
1
:
{
core
.
operated_set
.
clear
();
core
.
operated_set
.
clear
();
core
.
operated_set
=
targets
->
container
;
core
.
operated_set
=
targets
->
container
;
returns
.
ivalue
[
0
]
=
targets
->
container
.
size
();
returns
.
ivalue
[
0
]
=
(
int32
)
targets
->
container
.
size
();
pduel
->
delete_group
(
targets
);
pduel
->
delete_group
(
targets
);
return
TRUE
;
return
TRUE
;
}
}
...
@@ -3973,7 +3973,7 @@ int32 field::operation_replace(uint16 step, effect * replace_effect, group * tar
...
@@ -3973,7 +3973,7 @@ int32 field::operation_replace(uint16 step, effect * replace_effect, group * tar
case
6
:
{
case
6
:
{
if
(
returns
.
ivalue
[
0
])
{
if
(
returns
.
ivalue
[
0
])
{
card_set
::
iterator
cit
,
rm
;
card_set
::
iterator
cit
,
rm
;
uint32
is_destroy
=
arg2
;
uint32
is_destroy
=
(
uint32
)
arg2
;
for
(
cit
=
targets
->
container
.
begin
();
cit
!=
targets
->
container
.
end
();)
{
for
(
cit
=
targets
->
container
.
begin
();
cit
!=
targets
->
container
.
end
();)
{
rm
=
cit
++
;
rm
=
cit
++
;
if
(
replace_effect
->
get_value
(
*
rm
))
{
if
(
replace_effect
->
get_value
(
*
rm
))
{
...
@@ -4088,7 +4088,7 @@ int32 field::operation_replace(uint16 step, effect * replace_effect, group * tar
...
@@ -4088,7 +4088,7 @@ int32 field::operation_replace(uint16 step, effect * replace_effect, group * tar
case
13
:
{
case
13
:
{
if
(
returns
.
ivalue
[
0
])
{
if
(
returns
.
ivalue
[
0
])
{
card_set
::
iterator
cit
,
rm
;
card_set
::
iterator
cit
,
rm
;
uint32
is_destroy
=
arg2
;
uint32
is_destroy
=
(
uint32
)
arg2
;
for
(
cit
=
targets
->
container
.
begin
();
cit
!=
targets
->
container
.
end
();)
{
for
(
cit
=
targets
->
container
.
begin
();
cit
!=
targets
->
container
.
end
();)
{
rm
=
cit
++
;
rm
=
cit
++
;
if
(
replace_effect
->
get_value
(
*
rm
))
{
if
(
replace_effect
->
get_value
(
*
rm
))
{
...
@@ -4325,7 +4325,7 @@ int32 field::select_synchro_material(int16 step, uint8 playerid, card* pcard, in
...
@@ -4325,7 +4325,7 @@ int32 field::select_synchro_material(int16 step, uint8 playerid, card* pcard, in
case
5
:
{
case
5
:
{
lua_pop
(
pduel
->
lua
->
current_state
,
2
);
lua_pop
(
pduel
->
lua
->
current_state
,
2
);
group
*
pgroup
=
pduel
->
new_group
();
group
*
pgroup
=
pduel
->
new_group
();
int32
mcount
=
core
.
must_select_cards
.
size
();
int32
mcount
=
(
int32
)
core
.
must_select_cards
.
size
();
for
(
int32
i
=
mcount
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
for
(
int32
i
=
mcount
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
card
*
pcard
=
core
.
select_cards
[
returns
.
bvalue
[
i
+
1
]];
card
*
pcard
=
core
.
select_cards
[
returns
.
bvalue
[
i
+
1
]];
pgroup
->
container
.
insert
(
pcard
);
pgroup
->
container
.
insert
(
pcard
);
...
@@ -4455,7 +4455,7 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, uint32 lv, card* sc
...
@@ -4455,7 +4455,7 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, uint32 lv, card* sc
}
}
min
=
0
;
min
=
0
;
if
((
int32
)
core
.
operated_set
.
size
()
<
pv
)
if
((
int32
)
core
.
operated_set
.
size
()
<
pv
)
min
=
pv
-
core
.
operated_set
.
size
();
min
=
pv
-
(
int32
)
core
.
operated_set
.
size
();
core
.
units
.
begin
()
->
arg2
=
min
+
(
max
<<
16
);
core
.
units
.
begin
()
->
arg2
=
min
+
(
max
<<
16
);
if
(
min
==
0
)
{
if
(
min
==
0
)
{
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
playerid
,
93
);
add_process
(
PROCESSOR_SELECT_YESNO
,
0
,
0
,
0
,
playerid
,
93
);
...
@@ -4656,7 +4656,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
...
@@ -4656,7 +4656,7 @@ int32 field::select_tribute_cards(int16 step, uint8 playerid, uint8 cancelable,
return
TRUE
;
return
TRUE
;
for
(
int32
i
=
0
;
i
<
returns
.
bvalue
[
0
];
++
i
)
for
(
int32
i
=
0
;
i
<
returns
.
bvalue
[
0
];
++
i
)
core
.
operated_set
.
insert
(
core
.
select_cards
[
returns
.
bvalue
[
i
+
1
]]);
core
.
operated_set
.
insert
(
core
.
select_cards
[
returns
.
bvalue
[
i
+
1
]]);
uint32
rmin
=
core
.
operated_set
.
size
();
uint32
rmin
=
(
uint32
)
core
.
operated_set
.
size
();
uint32
rmax
=
0
;
uint32
rmax
=
0
;
for
(
auto
cit
=
core
.
operated_set
.
begin
();
cit
!=
core
.
operated_set
.
end
();
++
cit
)
for
(
auto
cit
=
core
.
operated_set
.
begin
();
cit
!=
core
.
operated_set
.
end
();
++
cit
)
rmax
+=
(
*
cit
)
->
operation_param
;
rmax
+=
(
*
cit
)
->
operation_param
;
...
...
playerop.cpp
View file @
197b8f72
...
@@ -146,7 +146,7 @@ int32 field::select_idle_command(uint16 step, uint8 playerid) {
...
@@ -146,7 +146,7 @@ int32 field::select_idle_command(uint16 step, uint8 playerid) {
}
else
{
}
else
{
uint32
t
=
returns
.
ivalue
[
0
]
&
0xffff
;
uint32
t
=
returns
.
ivalue
[
0
]
&
0xffff
;
uint32
s
=
returns
.
ivalue
[
0
]
>>
16
;
uint32
s
=
returns
.
ivalue
[
0
]
>>
16
;
if
(
t
<
0
||
t
>
8
||
s
<
0
if
(
t
>
8
||
(
t
==
0
&&
s
>=
core
.
summonable_cards
.
size
())
||
(
t
==
0
&&
s
>=
core
.
summonable_cards
.
size
())
||
(
t
==
1
&&
s
>=
core
.
spsummonable_cards
.
size
())
||
(
t
==
1
&&
s
>=
core
.
spsummonable_cards
.
size
())
||
(
t
==
2
&&
s
>=
core
.
repositionable_cards
.
size
())
||
(
t
==
2
&&
s
>=
core
.
repositionable_cards
.
size
())
...
@@ -562,14 +562,14 @@ int32 field::select_with_sum_limit(int16 step, uint8 playerid, int32 acc, int32
...
@@ -562,14 +562,14 @@ int32 field::select_with_sum_limit(int16 step, uint8 playerid, int32 acc, int32
memset
(
c
,
0
,
64
);
memset
(
c
,
0
,
64
);
if
(
max
)
{
if
(
max
)
{
int32
oparam
[
16
];
int32
oparam
[
16
];
int32
mcount
=
core
.
must_select_cards
.
size
();
int32
mcount
=
(
int32
)
core
.
must_select_cards
.
size
();
if
(
returns
.
bvalue
[
0
]
<
min
+
mcount
||
returns
.
bvalue
[
0
]
>
max
+
mcount
)
{
if
(
returns
.
bvalue
[
0
]
<
min
+
mcount
||
returns
.
bvalue
[
0
]
>
max
+
mcount
)
{
pduel
->
write_buffer8
(
MSG_RETRY
);
pduel
->
write_buffer8
(
MSG_RETRY
);
return
FALSE
;
return
FALSE
;
}
}
for
(
int32
i
=
0
;
i
<
mcount
;
++
i
)
for
(
int32
i
=
0
;
i
<
mcount
;
++
i
)
oparam
[
i
]
=
core
.
must_select_cards
[
i
]
->
operation_param
;
oparam
[
i
]
=
core
.
must_select_cards
[
i
]
->
operation_param
;
int32
m
=
core
.
select_cards
.
size
();
int32
m
=
(
int32
)
core
.
select_cards
.
size
();
for
(
int32
i
=
mcount
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
for
(
int32
i
=
mcount
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
int32
v
=
returns
.
bvalue
[
i
+
1
];
int32
v
=
returns
.
bvalue
[
i
+
1
];
if
(
v
<
0
||
v
>=
m
||
c
[
v
])
{
if
(
v
<
0
||
v
>=
m
||
c
[
v
])
{
...
...
processor.cpp
View file @
197b8f72
...
@@ -1076,7 +1076,7 @@ int32 field::execute_cost(uint16 step, effect * triggering_effect, uint8 trigger
...
@@ -1076,7 +1076,7 @@ int32 field::execute_cost(uint16 step, effect * triggering_effect, uint8 trigger
}
}
core
.
reason_effect
=
triggering_effect
;
core
.
reason_effect
=
triggering_effect
;
core
.
reason_player
=
triggering_player
;
core
.
reason_player
=
triggering_player
;
uint32
count
=
pduel
->
lua
->
params
.
size
();
uint32
count
=
(
uint32
)
pduel
->
lua
->
params
.
size
();
uint32
yield_value
=
0
;
uint32
yield_value
=
0
;
int32
result
=
pduel
->
lua
->
call_coroutine
(
triggering_effect
->
cost
,
count
,
&
yield_value
,
step
);
int32
result
=
pduel
->
lua
->
call_coroutine
(
triggering_effect
->
cost
,
count
,
&
yield_value
,
step
);
returns
.
ivalue
[
0
]
=
yield_value
;
returns
.
ivalue
[
0
]
=
yield_value
;
...
@@ -1127,7 +1127,7 @@ int32 field::execute_operation(uint16 step, effect * triggering_effect, uint8 tr
...
@@ -1127,7 +1127,7 @@ int32 field::execute_operation(uint16 step, effect * triggering_effect, uint8 tr
}
}
core
.
reason_effect
=
triggering_effect
;
core
.
reason_effect
=
triggering_effect
;
core
.
reason_player
=
triggering_player
;
core
.
reason_player
=
triggering_player
;
uint32
count
=
pduel
->
lua
->
params
.
size
();
uint32
count
=
(
uint32
)
pduel
->
lua
->
params
.
size
();
uint32
yield_value
=
0
;
uint32
yield_value
=
0
;
int32
result
=
pduel
->
lua
->
call_coroutine
(
triggering_effect
->
operation
,
count
,
&
yield_value
,
step
);
int32
result
=
pduel
->
lua
->
call_coroutine
(
triggering_effect
->
operation
,
count
,
&
yield_value
,
step
);
returns
.
ivalue
[
0
]
=
yield_value
;
returns
.
ivalue
[
0
]
=
yield_value
;
...
@@ -1183,7 +1183,7 @@ int32 field::execute_target(uint16 step, effect * triggering_effect, uint8 trigg
...
@@ -1183,7 +1183,7 @@ int32 field::execute_target(uint16 step, effect * triggering_effect, uint8 trigg
}
}
core
.
reason_effect
=
triggering_effect
;
core
.
reason_effect
=
triggering_effect
;
core
.
reason_player
=
triggering_player
;
core
.
reason_player
=
triggering_player
;
uint32
count
=
pduel
->
lua
->
params
.
size
();
uint32
count
=
(
uint32
)
pduel
->
lua
->
params
.
size
();
uint32
yield_value
=
0
;
uint32
yield_value
=
0
;
int32
result
=
pduel
->
lua
->
call_coroutine
(
triggering_effect
->
target
,
count
,
&
yield_value
,
step
);
int32
result
=
pduel
->
lua
->
call_coroutine
(
triggering_effect
->
target
,
count
,
&
yield_value
,
step
);
returns
.
ivalue
[
0
]
=
yield_value
;
returns
.
ivalue
[
0
]
=
yield_value
;
...
@@ -1537,7 +1537,7 @@ int32 field::process_phase_event(int16 step, int32 phase) {
...
@@ -1537,7 +1537,7 @@ int32 field::process_phase_event(int16 step, int32 phase) {
filter_player_effect
(
infos
.
turn_player
,
EFFECT_HAND_LIMIT
,
&
eset
);
filter_player_effect
(
infos
.
turn_player
,
EFFECT_HAND_LIMIT
,
&
eset
);
if
(
eset
.
size
())
if
(
eset
.
size
())
limit
=
eset
.
get_last
()
->
get_value
();
limit
=
eset
.
get_last
()
->
get_value
();
int32
hd
=
player
[
infos
.
turn_player
].
list_hand
.
size
();
int32
hd
=
(
int32
)
player
[
infos
.
turn_player
].
list_hand
.
size
();
if
(
hd
<=
limit
)
{
if
(
hd
<=
limit
)
{
core
.
units
.
begin
()
->
step
=
24
;
core
.
units
.
begin
()
->
step
=
24
;
return
FALSE
;
return
FALSE
;
...
@@ -1937,7 +1937,6 @@ int32 field::process_point_event(int16 step, int32 skip_trigger, int32 skip_free
...
@@ -1937,7 +1937,6 @@ int32 field::process_point_event(int16 step, int32 skip_trigger, int32 skip_free
}
}
int32
field
::
process_quick_effect
(
int16
step
,
int32
skip_freechain
,
uint8
priority
)
{
int32
field
::
process_quick_effect
(
int16
step
,
int32
skip_freechain
,
uint8
priority
)
{
event_list
::
iterator
evit
;
event_list
::
iterator
evit
;
effect
*
peffect
;
switch
(
step
)
{
switch
(
step
)
{
case
0
:
{
case
0
:
{
core
.
tpchain
.
clear
();
core
.
tpchain
.
clear
();
...
@@ -2101,7 +2100,7 @@ int32 field::process_quick_effect(int16 step, int32 skip_freechain, uint8 priori
...
@@ -2101,7 +2100,7 @@ int32 field::process_quick_effect(int16 step, int32 skip_freechain, uint8 priori
}
}
}
}
}
}
core
.
spe_effect
[
priority
]
=
core
.
select_chains
.
size
();
core
.
spe_effect
[
priority
]
=
(
int32
)
core
.
select_chains
.
size
();
if
(
!
skip_freechain
)
{
if
(
!
skip_freechain
)
{
nil_event
.
event_code
=
EVENT_FREE_CHAIN
;
nil_event
.
event_code
=
EVENT_FREE_CHAIN
;
auto
pr
=
effects
.
activate_effect
.
equal_range
(
EVENT_FREE_CHAIN
);
auto
pr
=
effects
.
activate_effect
.
equal_range
(
EVENT_FREE_CHAIN
);
...
@@ -2144,7 +2143,7 @@ int32 field::process_quick_effect(int16 step, int32 skip_freechain, uint8 priori
...
@@ -2144,7 +2143,7 @@ int32 field::process_quick_effect(int16 step, int32 skip_freechain, uint8 priori
}
}
}
}
if
(
core
.
current_chain
.
size
()
||
(
core
.
hint_timing
[
0
]
&
TIMING_ATTACK
)
||
(
core
.
hint_timing
[
1
]
&
TIMING_ATTACK
))
if
(
core
.
current_chain
.
size
()
||
(
core
.
hint_timing
[
0
]
&
TIMING_ATTACK
)
||
(
core
.
hint_timing
[
1
]
&
TIMING_ATTACK
))
core
.
spe_effect
[
priority
]
=
core
.
select_chains
.
size
();
core
.
spe_effect
[
priority
]
=
(
int32
)
core
.
select_chains
.
size
();
if
(
!
(
core
.
duel_options
&
DUEL_NO_CHAIN_HINT
)
||
core
.
select_chains
.
size
())
if
(
!
(
core
.
duel_options
&
DUEL_NO_CHAIN_HINT
)
||
core
.
select_chains
.
size
())
add_process
(
PROCESSOR_SELECT_CHAIN
,
0
,
0
,
0
,
priority
,
core
.
spe_effect
[
priority
]);
add_process
(
PROCESSOR_SELECT_CHAIN
,
0
,
0
,
0
,
priority
,
core
.
spe_effect
[
priority
]);
}
else
{
}
else
{
...
@@ -2678,7 +2677,7 @@ int32 field::process_idle_command(uint16 step) {
...
@@ -2678,7 +2677,7 @@ int32 field::process_idle_command(uint16 step) {
return
FALSE
;
return
FALSE
;
}
}
case
11
:
{
case
11
:
{
returns
.
ivalue
[
0
]
=
core
.
units
.
begin
()
->
arg1
;
returns
.
ivalue
[
0
]
=
(
int32
)
core
.
units
.
begin
()
->
arg1
;
infos
.
can_shuffle
=
TRUE
;
infos
.
can_shuffle
=
TRUE
;
return
TRUE
;
return
TRUE
;
}
}
...
@@ -3032,8 +3031,8 @@ int32 field::process_battle_command(uint16 step) {
...
@@ -3032,8 +3031,8 @@ int32 field::process_battle_command(uint16 step) {
case
10
:
{
case
10
:
{
uint8
rollback
=
core
.
attack_rollback
;
uint8
rollback
=
core
.
attack_rollback
;
bool
atk_disabled
=
false
;
bool
atk_disabled
=
false
;
uint32
acon
=
core
.
units
.
begin
()
->
arg2
>>
16
;
uint32
acon
=
(
uint32
)
core
.
units
.
begin
()
->
arg2
>>
16
;
uint32
afid
=
core
.
units
.
begin
()
->
arg2
&
0xffff
;
uint32
afid
=
(
uint32
)
core
.
units
.
begin
()
->
arg2
&
0xffff
;
if
(
core
.
attacker
->
is_affected_by_effect
(
EFFECT_ATTACK_DISABLED
))
{
if
(
core
.
attacker
->
is_affected_by_effect
(
EFFECT_ATTACK_DISABLED
))
{
core
.
attacker
->
reset
(
EFFECT_ATTACK_DISABLED
,
RESET_CODE
);
core
.
attacker
->
reset
(
EFFECT_ATTACK_DISABLED
,
RESET_CODE
);
atk_disabled
=
true
;
atk_disabled
=
true
;
...
@@ -3648,8 +3647,8 @@ int32 field::process_battle_command(uint16 step) {
...
@@ -3648,8 +3647,8 @@ int32 field::process_battle_command(uint16 step) {
case
42
:
{
case
42
:
{
core
.
attacker
=
0
;
core
.
attacker
=
0
;
core
.
attack_target
=
0
;
core
.
attack_target
=
0
;
returns
.
ivalue
[
0
]
=
core
.
units
.
begin
()
->
arg1
;
returns
.
ivalue
[
0
]
=
(
int32
)
core
.
units
.
begin
()
->
arg1
;
returns
.
ivalue
[
1
]
=
core
.
units
.
begin
()
->
arg2
;
returns
.
ivalue
[
1
]
=
(
int32
)
core
.
units
.
begin
()
->
arg2
;
return
TRUE
;
return
TRUE
;
}
}
}
}
...
@@ -4398,14 +4397,14 @@ int32 field::sort_chain(uint16 step, uint8 tp) {
...
@@ -4398,14 +4397,14 @@ int32 field::sort_chain(uint16 step, uint8 tp) {
int32
i
=
0
,
count
;
int32
i
=
0
,
count
;
chain_array
ch
(
8
);
chain_array
ch
(
8
);
if
(
tp
)
{
if
(
tp
)
{
count
=
core
.
tpchain
.
size
();
count
=
(
int32
)
core
.
tpchain
.
size
();
for
(
i
=
0
,
clit
=
core
.
tpchain
.
begin
();
i
<
count
;
++
clit
,
++
i
)
for
(
i
=
0
,
clit
=
core
.
tpchain
.
begin
();
i
<
count
;
++
clit
,
++
i
)
ch
[
returns
.
bvalue
[
i
]]
=
*
clit
;
ch
[
returns
.
bvalue
[
i
]]
=
*
clit
;
core
.
tpchain
.
clear
();
core
.
tpchain
.
clear
();
for
(
i
=
0
;
i
<
count
;
++
i
)
for
(
i
=
0
;
i
<
count
;
++
i
)
core
.
tpchain
.
push_back
(
ch
[
i
]);
core
.
tpchain
.
push_back
(
ch
[
i
]);
}
else
{
}
else
{
count
=
core
.
ntpchain
.
size
();
count
=
(
int32
)
core
.
ntpchain
.
size
();
for
(
i
=
0
,
clit
=
core
.
ntpchain
.
begin
();
i
<
count
;
++
clit
,
++
i
)
for
(
i
=
0
,
clit
=
core
.
ntpchain
.
begin
();
i
<
count
;
++
clit
,
++
i
)
ch
[
returns
.
bvalue
[
i
]]
=
*
clit
;
ch
[
returns
.
bvalue
[
i
]]
=
*
clit
;
core
.
ntpchain
.
clear
();
core
.
ntpchain
.
clear
();
...
@@ -4594,7 +4593,7 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
...
@@ -4594,7 +4593,7 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
case
3
:
{
case
3
:
{
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
=
(
int32
)(
ptr
)
core
.
units
.
begin
()
->
peffect
;
}
}
core
.
special_summoning
.
clear
();
core
.
special_summoning
.
clear
();
core
.
equiping_cards
.
clear
();
core
.
equiping_cards
.
clear
();
...
@@ -4928,7 +4927,7 @@ int32 field::refresh_location_info(uint16 step) {
...
@@ -4928,7 +4927,7 @@ int32 field::refresh_location_info(uint16 step) {
return
FALSE
;
return
FALSE
;
}
}
case
4
:
{
case
4
:
{
uint32
count1
=
core
.
units
.
begin
()
->
arg1
;
uint32
count1
=
(
uint32
)
core
.
units
.
begin
()
->
arg1
;
uint32
selflag
=
0
;
uint32
selflag
=
0
;
uint8
s
,
pt
=
0
;
uint8
s
,
pt
=
0
;
for
(
uint32
i
=
0
;
i
<
count1
;
++
i
)
{
for
(
uint32
i
=
0
;
i
<
count1
;
++
i
)
{
...
@@ -4980,7 +4979,7 @@ int32 field::refresh_location_info(uint16 step) {
...
@@ -4980,7 +4979,7 @@ int32 field::refresh_location_info(uint16 step) {
return
FALSE
;
return
FALSE
;
}
}
case
6
:
{
case
6
:
{
uint32
count1
=
core
.
units
.
begin
()
->
arg1
;
uint32
count1
=
(
uint32
)
core
.
units
.
begin
()
->
arg1
;
uint32
selflag
=
0
;
uint32
selflag
=
0
;
uint8
s
,
pt
=
0
;
uint8
s
,
pt
=
0
;
for
(
uint32
i
=
0
;
i
<
count1
;
++
i
)
{
for
(
uint32
i
=
0
;
i
<
count1
;
++
i
)
{
...
@@ -5119,7 +5118,7 @@ int32 field::adjust_step(uint16 step) {
...
@@ -5119,7 +5118,7 @@ int32 field::adjust_step(uint16 step) {
}
}
case
5
:
{
case
5
:
{
//1-5 control
//1-5 control
card
*
pcard
;
//
card* pcard;
uint8
cur
,
ref
;
uint8
cur
,
ref
;
core
.
control_adjust_set
[
0
].
clear
();
core
.
control_adjust_set
[
0
].
clear
();
core
.
control_adjust_set
[
1
].
clear
();
core
.
control_adjust_set
[
1
].
clear
();
...
...
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