Commit 3af8dcca authored by wind2009's avatar wind2009

Merge remote-tracking branch 'upstream/patch-sponce-related' into develop

parents e619ddd0 5426a7ac
...@@ -3418,6 +3418,15 @@ int32_t scriptlib::card_set_spsummon_once(lua_State *L) { ...@@ -3418,6 +3418,15 @@ int32_t scriptlib::card_set_spsummon_once(lua_State *L) {
pcard->pduel->game_field->core.global_flag |= GLOBALFLAG_SPSUMMON_ONCE; pcard->pduel->game_field->core.global_flag |= GLOBALFLAG_SPSUMMON_ONCE;
return 0; return 0;
} }
int32_t scriptlib::card_check_spsummon_once(lua_State *L) {
check_param_count(L, 2);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1);
auto playerid = (int32_t)lua_tointeger(L, 2);
auto pduel = pcard->pduel;
lua_pushboolean(L, pduel->game_field->check_spsummon_once(pcard, playerid));
return 1;
}
static const struct luaL_Reg cardlib[] = { static const struct luaL_Reg cardlib[] = {
{ "GetCode", scriptlib::card_get_code }, { "GetCode", scriptlib::card_get_code },
...@@ -3696,6 +3705,7 @@ static const struct luaL_Reg cardlib[] = { ...@@ -3696,6 +3705,7 @@ static const struct luaL_Reg cardlib[] = {
{ "ResetNegateEffect", scriptlib::card_reset_negate_effect }, { "ResetNegateEffect", scriptlib::card_reset_negate_effect },
{ "AssumeProperty", scriptlib::card_assume_prop }, { "AssumeProperty", scriptlib::card_assume_prop },
{ "SetSPSummonOnce", scriptlib::card_set_spsummon_once }, { "SetSPSummonOnce", scriptlib::card_set_spsummon_once },
{ "CheckSPSummonOnce", scriptlib::card_check_spsummon_once },
{ nullptr, nullptr } { nullptr, nullptr }
}; };
void scriptlib::open_cardlib(lua_State *L) { void scriptlib::open_cardlib(lua_State *L) {
......
...@@ -20,6 +20,13 @@ int32_t scriptlib::duel_enable_global_flag(lua_State *L) { ...@@ -20,6 +20,13 @@ int32_t scriptlib::duel_enable_global_flag(lua_State *L) {
pduel->game_field->core.global_flag |= flag; pduel->game_field->core.global_flag |= flag;
return 0; return 0;
} }
int32_t scriptlib::duel_is_global_flag(lua_State *L) {
check_param_count(L, 1);
uint32_t flag = (uint32_t)lua_tointeger(L, 1);
duel* pduel = interpreter::get_duel_info(L);
lua_pushboolean(L, (pduel->game_field->core.global_flag & flag) == flag);
return 1;
}
int32_t scriptlib::duel_get_lp(lua_State *L) { int32_t scriptlib::duel_get_lp(lua_State *L) {
check_param_count(L, 1); check_param_count(L, 1);
...@@ -4844,6 +4851,7 @@ int32_t scriptlib::duel_majestic_copy(lua_State *L) { ...@@ -4844,6 +4851,7 @@ int32_t scriptlib::duel_majestic_copy(lua_State *L) {
static const struct luaL_Reg duellib[] = { static const struct luaL_Reg duellib[] = {
{ "EnableGlobalFlag", scriptlib::duel_enable_global_flag }, { "EnableGlobalFlag", scriptlib::duel_enable_global_flag },
{ "IsGlobalFlag", scriptlib::duel_is_global_flag },
{ "GetLP", scriptlib::duel_get_lp }, { "GetLP", scriptlib::duel_get_lp },
{ "SetLP", scriptlib::duel_set_lp }, { "SetLP", scriptlib::duel_set_lp },
{ "IsTurnPlayer", scriptlib::duel_is_turn_player }, { "IsTurnPlayer", scriptlib::duel_is_turn_player },
......
...@@ -306,6 +306,7 @@ public: ...@@ -306,6 +306,7 @@ public:
static int32_t card_reset_negate_effect(lua_State *L); static int32_t card_reset_negate_effect(lua_State *L);
static int32_t card_assume_prop(lua_State *L); static int32_t card_assume_prop(lua_State *L);
static int32_t card_set_spsummon_once(lua_State *L); static int32_t card_set_spsummon_once(lua_State *L);
static int32_t card_check_spsummon_once(lua_State *L);
static void open_cardlib(lua_State *L); static void open_cardlib(lua_State *L);
//Effect functions //Effect functions
...@@ -407,6 +408,7 @@ public: ...@@ -407,6 +408,7 @@ public:
//Duel functions //Duel functions
static int32_t duel_enable_global_flag(lua_State *L); static int32_t duel_enable_global_flag(lua_State *L);
static int32_t duel_is_global_flag(lua_State *L);
static int32_t duel_get_lp(lua_State *L); static int32_t duel_get_lp(lua_State *L);
static int32_t duel_set_lp(lua_State *L); static int32_t duel_set_lp(lua_State *L);
static int32_t duel_is_turn_player(lua_State *L); static int32_t duel_is_turn_player(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