Commit e94eff20 authored by mercury233's avatar mercury233

add Card.IsCanChangePosition

parent 35b5c980
......@@ -3400,6 +3400,11 @@ int32 card::is_capable_change_position(uint8 playerid) {
return FALSE;
return TRUE;
}
int32 card::is_capable_change_position_by_effect(uint8 playerid) {
if(data.type & TYPE_LINK)
return FALSE;
return TRUE;
}
int32 card::is_capable_turn_set(uint8 playerid) {
if(data.type & (TYPE_LINK | TYPE_TOKEN))
return FALSE;
......
......@@ -308,6 +308,7 @@ public:
int32 is_capable_attack();
int32 is_capable_attack_announce(uint8 playerid);
int32 is_capable_change_position(uint8 playerid);
int32 is_capable_change_position_by_effect(uint8 playerid);
int32 is_capable_turn_set(uint8 playerid);
int32 is_capable_change_control();
int32 is_control_can_be_changed(int32 ignore_mzone, uint32 zone);
......
......@@ -221,6 +221,7 @@ static const struct luaL_Reg cardlib[] = {
{ "GetCounter", scriptlib::card_get_counter },
{ "EnableCounterPermit", scriptlib::card_enable_counter_permit },
{ "SetCounterLimit", scriptlib::card_set_counter_limit },
{ "IsCanChangePosition", scriptlib::card_is_can_change_position },
{ "IsCanTurnSet", scriptlib::card_is_can_turn_set },
{ "IsCanAddCounter", scriptlib::card_is_can_add_counter },
{ "IsCanRemoveCounter", scriptlib::card_is_can_remove_counter },
......
......@@ -2195,6 +2195,13 @@ int32 scriptlib::card_set_counter_limit(lua_State *L) {
pcard->add_effect(peffect);
return 0;
}
int32 scriptlib::card_is_can_change_position(lua_State *L) {
check_param_count(L, 1);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**)lua_touserdata(L, 1);
lua_pushboolean(L, pcard->is_capable_change_position_by_effect(pcard->pduel->game_field->core.reason_player));
return 1;
}
int32 scriptlib::card_is_can_turn_set(lua_State *L) {
check_param_count(L, 1);
check_param(L, PARAM_TYPE_CARD, 1);
......
......@@ -223,6 +223,7 @@ public:
static int32 card_get_counter(lua_State *L);
static int32 card_enable_counter_permit(lua_State *L);
static int32 card_set_counter_limit(lua_State *L);
static int32 card_is_can_change_position(lua_State *L);
static int32 card_is_can_turn_set(lua_State *L);
static int32 card_is_can_add_counter(lua_State *L);
static int32 card_is_can_remove_counter(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