Commit 7d93e0e0 authored by mercury233's avatar mercury233 Committed by GitHub

update Duel.IsEnvironment (#394)

parent 64b93463
...@@ -1161,14 +1161,14 @@ int32 scriptlib::duel_is_environment(lua_State *L) { ...@@ -1161,14 +1161,14 @@ int32 scriptlib::duel_is_environment(lua_State *L) {
uint32 playerid = PLAYER_ALL; uint32 playerid = PLAYER_ALL;
if(lua_gettop(L) >= 2) if(lua_gettop(L) >= 2)
playerid = (uint32)lua_tointeger(L, 2); playerid = (uint32)lua_tointeger(L, 2);
uint32 loc = LOCATION_FZONE + LOCATION_ONFIELD; uint32 loc = LOCATION_ONFIELD;
if(lua_gettop(L) >= 3) if(lua_gettop(L) >= 3)
loc = (uint32)lua_tointeger(L, 3); loc = (uint32)lua_tointeger(L, 3);
if(playerid != 0 && playerid != 1 && playerid != PLAYER_ALL) if(playerid != 0 && playerid != 1 && playerid != PLAYER_ALL)
return 0; return 0;
duel* pduel = interpreter::get_duel_info(L); duel* pduel = interpreter::get_duel_info(L);
int32 ret = 0, fc = 0; int32 ret = 0, fc = 0;
if(loc & LOCATION_FZONE) { if(loc & (LOCATION_FZONE + LOCATION_SZONE)) {
card* pcard = pduel->game_field->player[0].list_szone[5]; card* pcard = pduel->game_field->player[0].list_szone[5];
if(pcard && pcard->is_position(POS_FACEUP) && pcard->get_status(STATUS_EFFECT_ENABLED)) { if(pcard && pcard->is_position(POS_FACEUP) && pcard->get_status(STATUS_EFFECT_ENABLED)) {
fc = 1; fc = 1;
...@@ -1210,6 +1210,20 @@ int32 scriptlib::duel_is_environment(lua_State *L) { ...@@ -1210,6 +1210,20 @@ int32 scriptlib::duel_is_environment(lua_State *L) {
} }
} }
} }
if(!ret && (loc & LOCATION_GRAVE)) {
if(playerid == 0 || playerid == PLAYER_ALL) {
for(auto& pcard : pduel->game_field->player[0].list_grave) {
if(code == pcard->get_code())
ret = 1;
}
}
if(playerid == 1 || playerid == PLAYER_ALL) {
for(auto& pcard : pduel->game_field->player[1].list_grave) {
if(code == pcard->get_code())
ret = 1;
}
}
}
if(!fc) { if(!fc) {
effect_set eset; effect_set eset;
pduel->game_field->filter_field_effect(EFFECT_CHANGE_ENVIRONMENT, &eset); pduel->game_field->filter_field_effect(EFFECT_CHANGE_ENVIRONMENT, &eset);
......
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