Commit cba85e02 authored by salix5's avatar salix5

is_releasable_by_nonsummon(playerid, REASON_EFFECT

parent 51762e8c
...@@ -1857,7 +1857,7 @@ int32 field::get_draw_count(uint8 playerid) { ...@@ -1857,7 +1857,7 @@ int32 field::get_draw_count(uint8 playerid) {
void field::get_ritual_material(uint8 playerid, effect* peffect, card_set* material, uint8 no_level) { void field::get_ritual_material(uint8 playerid, effect* peffect, card_set* material, uint8 no_level) {
for(auto& pcard : player[playerid].list_mzone) { for(auto& pcard : player[playerid].list_mzone) {
if(pcard && pcard->is_affect_by_effect(peffect) if(pcard && pcard->is_affect_by_effect(peffect)
&& pcard->is_releasable_by_nonsummon(playerid) && pcard->is_releasable_by_effect(playerid, peffect) && pcard->is_releasable_by_nonsummon(playerid, REASON_EFFECT) && pcard->is_releasable_by_effect(playerid, peffect)
&& (no_level || pcard->get_level() > 0)) && (no_level || pcard->get_level() > 0))
material->insert(pcard); material->insert(pcard);
if(pcard && pcard->is_affected_by_effect(EFFECT_OVERLAY_RITUAL_MATERIAL)) if(pcard && pcard->is_affected_by_effect(EFFECT_OVERLAY_RITUAL_MATERIAL))
...@@ -1868,12 +1868,12 @@ void field::get_ritual_material(uint8 playerid, effect* peffect, card_set* mater ...@@ -1868,12 +1868,12 @@ void field::get_ritual_material(uint8 playerid, effect* peffect, card_set* mater
for(auto& pcard : player[1 - playerid].list_mzone) { for(auto& pcard : player[1 - playerid].list_mzone) {
if(pcard && pcard->is_affect_by_effect(peffect) if(pcard && pcard->is_affect_by_effect(peffect)
&& pcard->is_affected_by_effect(EFFECT_EXTRA_RELEASE) && pcard->is_position(POS_FACEUP) && pcard->is_affected_by_effect(EFFECT_EXTRA_RELEASE) && pcard->is_position(POS_FACEUP)
&& pcard->is_releasable_by_nonsummon(playerid) && pcard->is_releasable_by_effect(playerid, peffect) && pcard->is_releasable_by_nonsummon(playerid, REASON_EFFECT) && pcard->is_releasable_by_effect(playerid, peffect)
&& (no_level || pcard->get_level() > 0)) && (no_level || pcard->get_level() > 0))
material->insert(pcard); material->insert(pcard);
} }
for(auto& pcard : player[playerid].list_hand) for(auto& pcard : player[playerid].list_hand)
if((pcard->data.type & TYPE_MONSTER) && pcard->is_releasable_by_nonsummon(playerid)) if((pcard->data.type & TYPE_MONSTER) && pcard->is_releasable_by_nonsummon(playerid, REASON_EFFECT))
material->insert(pcard); material->insert(pcard);
for(auto& pcard : player[playerid].list_grave) for(auto& pcard : player[playerid].list_grave)
if((pcard->data.type & TYPE_MONSTER) if((pcard->data.type & TYPE_MONSTER)
......
...@@ -2422,7 +2422,7 @@ int32 scriptlib::card_is_releasable_by_effect(lua_State *L) { ...@@ -2422,7 +2422,7 @@ int32 scriptlib::card_is_releasable_by_effect(lua_State *L) {
card* pcard = *(card**) lua_touserdata(L, 1); card* pcard = *(card**) lua_touserdata(L, 1);
uint32 p = pcard->pduel->game_field->core.reason_player; uint32 p = pcard->pduel->game_field->core.reason_player;
effect* re = pcard->pduel->game_field->core.reason_effect; effect* re = pcard->pduel->game_field->core.reason_effect;
if(pcard->is_releasable_by_nonsummon(p) && pcard->is_releasable_by_effect(p, re)) if(pcard->is_releasable_by_nonsummon(p, REASON_EFFECT) && pcard->is_releasable_by_effect(p, re))
lua_pushboolean(L, 1); lua_pushboolean(L, 1);
else else
lua_pushboolean(L, 0); lua_pushboolean(L, 0);
......
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