Commit 00bfdd04 authored by nanahira's avatar nanahira

add Duel.Exile

parent cf2d9bb0
...@@ -354,6 +354,7 @@ static const struct luaL_Reg duellib[] = { ...@@ -354,6 +354,7 @@ static const struct luaL_Reg duellib[] = {
{ "GetMasterRule", scriptlib::duel_get_master_rule }, { "GetMasterRule", scriptlib::duel_get_master_rule },
{ "FilterPlayerEffect", scriptlib::duel_filter_player_effect }, { "FilterPlayerEffect", scriptlib::duel_filter_player_effect },
{ "ReadCard", scriptlib::duel_read_card }, { "ReadCard", scriptlib::duel_read_card },
{ "Exile", scriptlib::duel_exile },
{ "EnableGlobalFlag", scriptlib::duel_enable_global_flag }, { "EnableGlobalFlag", scriptlib::duel_enable_global_flag },
{ "GetLP", scriptlib::duel_get_lp }, { "GetLP", scriptlib::duel_get_lp },
......
...@@ -125,6 +125,28 @@ int32 scriptlib::duel_read_card(lua_State *L) { ...@@ -125,6 +125,28 @@ int32 scriptlib::duel_read_card(lua_State *L) {
} }
return args; return args;
} }
int32 scriptlib::duel_exile(lua_State *L) {
check_action_permission(L);
check_param_count(L, 2);
card* pcard = 0;
group* pgroup = 0;
duel* pduel = 0;
if(check_param(L, PARAM_TYPE_CARD, 1, TRUE)) {
pcard = *(card**) lua_touserdata(L, 1);
pduel = pcard->pduel;
} else if(check_param(L, PARAM_TYPE_GROUP, 1, TRUE)) {
pgroup = *(group**) lua_touserdata(L, 1);
pduel = pgroup->pduel;
} else
luaL_error(L, "Parameter %d should be \"Card\" or \"Group\".", 1);
uint32 reason = lua_tointeger(L, 2);
if(pcard)
pduel->game_field->send_to(pcard, pduel->game_field->core.reason_effect, reason, pduel->game_field->core.reason_player, PLAYER_NONE, 0, 0, POS_FACEUP);
else
pduel->game_field->send_to(&(pgroup->container), pduel->game_field->core.reason_effect, reason, pduel->game_field->core.reason_player, PLAYER_NONE, 0, 0, POS_FACEUP);
pduel->game_field->core.subunits.back().type = PROCESSOR_SENDTO_S;
return lua_yield(L, 0);
}
int32 scriptlib::duel_enable_global_flag(lua_State *L) { int32 scriptlib::duel_enable_global_flag(lua_State *L) {
check_param_count(L, 1); check_param_count(L, 1);
......
...@@ -25,6 +25,7 @@ public: ...@@ -25,6 +25,7 @@ public:
static int32 duel_get_master_rule(lua_State *L); static int32 duel_get_master_rule(lua_State *L);
static int32 duel_filter_player_effect(lua_State *L); static int32 duel_filter_player_effect(lua_State *L);
static int32 duel_read_card(lua_State *L); static int32 duel_read_card(lua_State *L);
static int32 duel_exile(lua_State *L);
//card lib //card lib
static int32 card_get_code(lua_State *L); static int32 card_get_code(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