Commit 3f8322ce authored by DailyShana's avatar DailyShana

update Card.IsFusionSummonableCard

parent 13450162
...@@ -2307,15 +2307,16 @@ int32 card::is_summonable_card() { ...@@ -2307,15 +2307,16 @@ int32 card::is_summonable_card() {
return FALSE; return FALSE;
return !is_affected_by_effect(EFFECT_UNSUMMONABLE_CARD); return !is_affected_by_effect(EFFECT_UNSUMMONABLE_CARD);
} }
int32 card::is_fusion_summonable_card() { int32 card::is_fusion_summonable_card(uint32 summon_type) {
if(!(data.type & TYPE_FUSION)) if(!(data.type & TYPE_FUSION))
return FALSE; return FALSE;
summon_type |= SUMMON_TYPE_FUSION;
effect_set eset; effect_set eset;
filter_effect(EFFECT_SPSUMMON_CONDITION, &eset); filter_effect(EFFECT_SPSUMMON_CONDITION, &eset);
for(int32 i = 0; i < eset.size(); ++i) { for(int32 i = 0; i < eset.size(); ++i) {
pduel->lua->add_param((void*)0, PARAM_TYPE_EFFECT); pduel->lua->add_param((void*)0, PARAM_TYPE_EFFECT);
pduel->lua->add_param((void*)0, PARAM_TYPE_INT); pduel->lua->add_param((void*)0, PARAM_TYPE_INT);
pduel->lua->add_param(SUMMON_TYPE_FUSION, PARAM_TYPE_INT); pduel->lua->add_param(summon_type, PARAM_TYPE_INT);
pduel->lua->add_param((void*)0, PARAM_TYPE_INT); pduel->lua->add_param((void*)0, PARAM_TYPE_INT);
pduel->lua->add_param((void*)0, PARAM_TYPE_INT); pduel->lua->add_param((void*)0, PARAM_TYPE_INT);
if(!eset[i]->check_value_condition(5)) if(!eset[i]->check_value_condition(5))
......
...@@ -249,7 +249,7 @@ public: ...@@ -249,7 +249,7 @@ public:
int32 is_equipable(card* pcard); int32 is_equipable(card* pcard);
int32 is_summonable_card(); int32 is_summonable_card();
int32 is_fusion_summonable_card(); int32 is_fusion_summonable_card(uint32 summon_type);
int32 is_spsummonable(effect* peffect); int32 is_spsummonable(effect* peffect);
int32 is_summonable(effect* peffect, uint8 min_tribute); int32 is_summonable(effect* peffect, uint8 min_tribute);
int32 is_can_be_summoned(uint8 playerid, uint8 ingore_count, effect* peffect, uint8 min_tribute); int32 is_can_be_summoned(uint8 playerid, uint8 ingore_count, effect* peffect, uint8 min_tribute);
......
...@@ -1358,7 +1358,10 @@ int32 scriptlib::card_is_fusion_summonable_card(lua_State *L) { ...@@ -1358,7 +1358,10 @@ int32 scriptlib::card_is_fusion_summonable_card(lua_State *L) {
check_param_count(L, 1); check_param_count(L, 1);
check_param(L, PARAM_TYPE_CARD, 1); check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1); card* pcard = *(card**) lua_touserdata(L, 1);
lua_pushboolean(L, pcard->is_fusion_summonable_card()); uint32 summon_type = 0;
if(lua_gettop(L) > 1)
summon_type = lua_tointeger(L, 2);
lua_pushboolean(L, pcard->is_fusion_summonable_card(summon_type));
return 1; return 1;
} }
int32 scriptlib::card_is_msetable(lua_State *L) { int32 scriptlib::card_is_msetable(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