Commit bec96706 authored by mercury233's avatar mercury233 Committed by GitHub

add Card.IsNonAttribute (#483)

parent 0dc9a3e8
......@@ -97,6 +97,7 @@ struct card_sort {
#define TYPE_LINK 0x4000000 //
//Attributes
#define ATTRIBUTE_ALL 0x7f //
#define ATTRIBUTE_EARTH 0x01 //
#define ATTRIBUTE_WATER 0x02 //
#define ATTRIBUTE_FIRE 0x04 //
......
......@@ -1180,6 +1180,17 @@ int32 scriptlib::card_is_link_attribute(lua_State *L) {
lua_pushboolean(L, 0);
return 1;
}
int32 scriptlib::card_is_non_attribute(lua_State *L) {
check_param_count(L, 2);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**)lua_touserdata(L, 1);
uint32 tattrib = (uint32)lua_tointeger(L, 2);
if(pcard->get_attribute() & (ATTRIBUTE_ALL - tattrib))
lua_pushboolean(L, 1);
else
lua_pushboolean(L, 0);
return 1;
}
int32 scriptlib::card_is_extra_deck_monster(lua_State *L) {
check_param_count(L, 1);
check_param(L, PARAM_TYPE_CARD, 1);
......@@ -3349,6 +3360,7 @@ static const struct luaL_Reg cardlib[] = {
{ "IsAttribute", scriptlib::card_is_attribute },
{ "IsFusionAttribute", scriptlib::card_is_fusion_attribute },
{ "IsLinkAttribute", scriptlib::card_is_link_attribute },
{ "IsNonAttribute", scriptlib::card_is_non_attribute },
{ "IsExtraDeckMonster", scriptlib::card_is_extra_deck_monster },
{ "IsReason", scriptlib::card_is_reason },
{ "IsSummonType", scriptlib::card_is_summon_type },
......
......@@ -125,6 +125,7 @@ public:
static int32 card_is_attribute(lua_State *L);
static int32 card_is_fusion_attribute(lua_State *L);
static int32 card_is_link_attribute(lua_State *L);
static int32 card_is_non_attribute(lua_State *L);
static int32 card_is_extra_deck_monster(lua_State *L);
static int32 card_is_reason(lua_State *L);
static int32 card_is_summon_type(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