Commit b6982e67 authored by nanahira's avatar nanahira

add GetCardsInZone

parent c9c5ad88
......@@ -382,7 +382,8 @@ static const struct luaL_Reg duellib[] = {
{ "Exile", scriptlib::duel_exile },
{ "DisableActionCheck", scriptlib::duel_disable_action_check },
{ "SetMetatable", scriptlib::duel_setmetatable },
{ "MoveTurnCount", scriptlib::duel_move_turn_count },
{ "MoveTurnCount", scriptlib::duel_move_turn_count },
{ "GetCardsInZone", scriptlib::duel_get_cards_in_zone },
{ "EnableGlobalFlag", scriptlib::duel_enable_global_flag },
{ "GetLP", scriptlib::duel_get_lp },
......
......@@ -153,6 +153,22 @@ int32 scriptlib::duel_move_turn_count(lua_State *L) {
pduel->write_buffer8(turn_player | 0x2);
return 0;
}
int32 scriptlib::duel_get_cards_in_zone(lua_State *L) {
check_param_count(L, 2);
uint32 rplayer = lua_tonumberint(L, 1);
if(rplayer != 0 && rplayer != 1)
return 0;
uint32 zone = lua_tonumberint(L, 2);
uint32 zone_s = zone & 0xffff;
uint32 zone_o = (zone >> 16) & 0xff;
duel* pduel = interpreter::get_duel_info(L);
field::card_set cset;
pduel->game_field->get_cards_in_zone(&cset, zone_s, rplayer, LOCATION_ONFIELD);
pduel->game_field->get_cards_in_zone(&cset, zone_o, 1 - rplayer, LOCATION_ONFIELD);
group* pgroup = pduel->new_group(cset);
interpreter::group2value(L, pgroup);
return 1;
}
int32 scriptlib::duel_enable_global_flag(lua_State *L) {
check_param_count(L, 1);
......
......@@ -33,6 +33,7 @@ public:
static int32 duel_disable_action_check(lua_State *L);
static int32 duel_setmetatable(lua_State *L);
static int32 duel_move_turn_count(lua_State *L);
static int32 duel_get_cards_in_zone(lua_State *L);
//metatable
static int32 group_meta_add(lua_State *L);
static int32 group_meta_sub(lua_State *L);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment