Commit e92e8c0b authored by VanillaSalt's avatar VanillaSalt

update

parent 2de8a5ce
......@@ -343,6 +343,26 @@ int32 card::is_pre_set_card(uint32 set_code) {
}
return FALSE;
}
int32 card::is_fusion_set_card(uint32 set_code) {
if(is_set_card(set_code))
return TRUE;
uint32 settype = set_code & 0xfff;
uint32 setsubtype = set_code & 0xf000;
effect_set eset;
filter_effect(EFFECT_ADD_FUSION_CODE, &eset);
for(int32 i = 0; i < eset.size(); ++i) {
uint32 code = eset[i]->get_value(this);
card_data dat;
::read_card(code, &dat);
uint64 setcode = dat.setcode;
while(setcode) {
if ((setcode & 0xfff) == settype && (setcode & 0xf000 & setsubtype) == setsubtype)
return TRUE;
setcode = setcode >> 16;
}
}
return FALSE;
}
uint32 card::get_type() {
if(assume_type == ASSUME_TYPE)
return assume_value;
......
......@@ -149,6 +149,7 @@ public:
uint32 get_another_code();
int32 is_set_card(uint32 set_code);
int32 is_pre_set_card(uint32 set_code);
int32 is_fusion_set_card(uint32 set_code);
uint32 get_type();
int32 get_base_attack(uint8 swap = FALSE);
int32 get_attack();
......
......@@ -22,6 +22,7 @@ static const struct luaL_Reg cardlib[] = {
{ "IsFusionCode", scriptlib::card_is_fusion_code },
{ "IsSetCard", scriptlib::card_is_set_card },
{ "IsPreviousSetCard", scriptlib::card_is_pre_set_card },
{ "IsFusionSetCard", scriptlib::card_is_fusion_set_card },
{ "GetType", scriptlib::card_get_type },
{ "GetOriginalType", scriptlib::card_get_origin_type },
{ "GetLevel", scriptlib::card_get_level },
......
......@@ -100,6 +100,14 @@ int32 scriptlib::card_is_pre_set_card(lua_State *L) {
lua_pushboolean(L, pcard->is_pre_set_card(set_code));
return 1;
}
int32 scriptlib::card_is_fusion_set_card(lua_State *L) {
check_param_count(L, 2);
check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1);
uint32 set_code = lua_tointeger(L, 2);
lua_pushboolean(L, pcard->is_fusion_set_card(set_code));
return 1;
}
int32 scriptlib::card_get_type(lua_State *L) {
check_param_count(L, 1);
check_param(L, PARAM_TYPE_CARD, 1);
......
......@@ -24,6 +24,7 @@ public:
static int32 card_is_fusion_code(lua_State *L);
static int32 card_is_set_card(lua_State *L);
static int32 card_is_pre_set_card(lua_State *L);
static int32 card_is_fusion_set_card(lua_State *L);
static int32 card_get_type(lua_State *L);
static int32 card_get_origin_type(lua_State *L);
static int32 card_get_level(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