Commit b6d8b0e9 authored by Chen Bill's avatar Chen Bill Committed by GitHub

fix card::is_can_be_disabled_by_effect() (#490)

parent 095aee5e
......@@ -3434,8 +3434,10 @@ int32 card::is_affect_by_effect(effect* reason_effect) {
return FALSE;
return TRUE;
}
int32 card::is_can_be_disabled_by_effect(effect* reason_effect) {
if (is_status(STATUS_DISABLED))
int32 card::is_can_be_disabled_by_effect(effect* reason_effect, bool is_monster_effect) {
if (is_monster_effect && is_status(STATUS_DISABLED))
return FALSE;
if(!is_monster_effect && !(get_type() & TYPE_TRAPMONSTER) && is_status(STATUS_DISABLED))
return FALSE;
if (is_affected_by_effect(EFFECT_CANNOT_DISABLE))
return FALSE;
......
......@@ -353,7 +353,7 @@ public:
int32 is_setable_mzone(uint8 playerid, uint8 ignore_count, effect* peffect, uint8 min_tribute, uint32 zone = 0x1f);
int32 is_setable_szone(uint8 playerid, uint8 ignore_fd = 0);
int32 is_affect_by_effect(effect* reason_effect);
int32 is_can_be_disabled_by_effect(effect* reason_effect);
int32 is_can_be_disabled_by_effect(effect* reason_effect, bool is_monster_effect);
int32 is_destructable();
int32 is_destructable_by_battle(card* pcard);
effect* check_indestructable_by_effect(effect* reason_effect, uint8 playerid);
......
......@@ -3004,7 +3004,10 @@ int32 scriptlib::card_is_can_be_disabled_by_effect(lua_State* L) {
check_param(L, PARAM_TYPE_EFFECT, 2);
card* pcard = *(card**)lua_touserdata(L, 1);
effect* peffect = *(effect**)lua_touserdata(L, 2);
lua_pushboolean(L, pcard->is_can_be_disabled_by_effect(peffect));
bool is_monster_effect = true;
if (lua_gettop(L) > 2)
is_monster_effect = lua_toboolean(L, 3);
lua_pushboolean(L, pcard->is_can_be_disabled_by_effect(peffect, is_monster_effect));
return 1;
}
int32 scriptlib::card_is_can_be_effect_target(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