Commit 6410407c authored by nekrozar's avatar nekrozar Committed by nanahira

update Card.IsCanBeFusionMaterial (#195)

parent 4a9317bc
......@@ -3606,14 +3606,16 @@ int32 card::is_capable_be_effect_target(effect* peffect, uint8 playerid) {
}
return TRUE;
}
int32 card::is_can_be_fusion_material(card* fcard) {
int32 card::is_can_be_fusion_material(card* fcard, uint32 summon_type) {
if(is_status(STATUS_FORBIDDEN))
return FALSE;
effect_set eset;
filter_effect(EFFECT_CANNOT_BE_FUSION_MATERIAL, &eset);
for(int32 i = 0; i < eset.size(); ++i)
if(eset[i]->get_value(fcard))
for(int32 i = 0; i < eset.size(); ++i) {
pduel->lua->add_param(summon_type, PARAM_TYPE_INT);
if(eset[i]->get_value(fcard, 1))
return FALSE;
}
eset.clear();
filter_effect(EFFECT_EXTRA_FUSION_MATERIAL, &eset);
if(eset.size()) {
......
......@@ -342,7 +342,7 @@ public:
int32 is_control_can_be_changed(int32 ignore_mzone, uint32 zone);
int32 is_capable_be_battle_target(card* pcard);
int32 is_capable_be_effect_target(effect* peffect, uint8 playerid);
int32 is_can_be_fusion_material(card* fcard);
int32 is_can_be_fusion_material(card* fcard, uint32 summon_type);
int32 is_can_be_synchro_material(card* scard, card* tuner = 0);
int32 is_can_be_ritual_material(card* scard);
int32 is_can_be_xyz_material(card* scard);
......
......@@ -2627,7 +2627,10 @@ int32 scriptlib::card_is_can_be_fusion_material(lua_State *L) {
check_param(L, PARAM_TYPE_CARD, 2);
fcard = *(card**)lua_touserdata(L, 2);
}
lua_pushboolean(L, pcard->is_can_be_fusion_material(fcard));
uint32 summon_type = SUMMON_TYPE_FUSION;
if(lua_gettop(L) >= 3)
summon_type = lua_tointeger(L, 3);
lua_pushboolean(L, pcard->is_can_be_fusion_material(fcard, summon_type));
return 1;
}
int32 scriptlib::card_is_can_be_synchro_material(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