Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-2pick
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-2pick
Commits
74fc40a9
Commit
74fc40a9
authored
Sep 08, 2017
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updc
parent
c7da045d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
48 additions
and
11 deletions
+48
-11
ocgcore/libduel.cpp
ocgcore/libduel.cpp
+48
-11
No files found.
ocgcore/libduel.cpp
View file @
74fc40a9
...
...
@@ -935,10 +935,14 @@ int32 scriptlib::duel_is_environment(lua_State *L) {
uint32 playerid = PLAYER_ALL;
if(lua_gettop(L) >= 2)
playerid = lua_tointeger(L, 2);
uint32 loc = LOCATION_FZONE + LOCATION_ONFIELD;
if(lua_gettop(L) >= 3)
loc = lua_tointeger(L, 3);
if(playerid != 0 && playerid != 1 && playerid != PLAYER_ALL)
return 0;
duel* pduel = interpreter::get_duel_info(L);
int32 ret = 0, fc = 0;
if(loc & LOCATION_FZONE) {
card* pcard = pduel->game_field->player[0].list_szone[5];
if(pcard && pcard->is_position(POS_FACEUP) && pcard->get_status(STATUS_EFFECT_ENABLED)) {
fc = 1;
...
...
@@ -951,6 +955,39 @@ int32 scriptlib::duel_is_environment(lua_State *L) {
if(code == pcard->get_code() && (playerid == 1 || playerid == PLAYER_ALL))
ret = 1;
}
}
if(!ret && (loc & LOCATION_SZONE)) {
if(playerid == 0 || playerid == PLAYER_ALL) {
for(auto cit = pduel->game_field->player[0].list_szone.begin(); cit != pduel->game_field->player[0].list_szone.end(); ++cit) {
card* pcard = *cit;
if(pcard && pcard->is_position(POS_FACEUP) && pcard->get_status(STATUS_EFFECT_ENABLED) && code == pcard->get_code())
ret = 1;
}
}
if(playerid == 1 || playerid == PLAYER_ALL) {
for(auto cit = pduel->game_field->player[1].list_szone.begin(); cit != pduel->game_field->player[1].list_szone.end(); ++cit) {
card* pcard = *cit;
if(pcard && pcard->is_position(POS_FACEUP) && pcard->get_status(STATUS_EFFECT_ENABLED) && code == pcard->get_code())
ret = 1;
}
}
}
if(!ret && (loc & LOCATION_MZONE)) {
if(playerid == 0 || playerid == PLAYER_ALL) {
for(auto cit = pduel->game_field->player[0].list_mzone.begin(); cit != pduel->game_field->player[0].list_mzone.end(); ++cit) {
card* pcard = *cit;
if(pcard && pcard->is_position(POS_FACEUP) && pcard->get_status(STATUS_EFFECT_ENABLED) && code == pcard->get_code())
ret = 1;
}
}
if(playerid == 1 || playerid == PLAYER_ALL) {
for(auto cit = pduel->game_field->player[1].list_mzone.begin(); cit != pduel->game_field->player[1].list_mzone.end(); ++cit) {
card* pcard = *cit;
if(pcard && pcard->is_position(POS_FACEUP) && pcard->get_status(STATUS_EFFECT_ENABLED) && code == pcard->get_code())
ret = 1;
}
}
}
if(!fc) {
effect_set eset;
pduel->game_field->filter_field_effect(EFFECT_CHANGE_ENVIRONMENT, &eset);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment