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
e716202b
Commit
e716202b
authored
May 08, 2015
by
salix5
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1317 from Tianchenglipu/patch-2
Fix for Xyz Pendulum monsters' summon limit
parents
34e283ae
e71aa648
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
0 deletions
+31
-0
ocgcore/card.cpp
ocgcore/card.cpp
+28
-0
script/utility.lua
script/utility.lua
+3
-0
No files found.
ocgcore/card.cpp
View file @
e716202b
...
@@ -1945,6 +1945,34 @@ int32 card::is_can_be_special_summoned(effect * reason_effect, uint32 sumtype, u
...
@@ -1945,6 +1945,34 @@ int32 card::is_can_be_special_summoned(effect * reason_effect, uint32 sumtype, u
if
(
is_status
(
STATUS_REVIVE_LIMIT
)
&&
!
is_status
(
STATUS_PROC_COMPLETE
))
{
if
(
is_status
(
STATUS_REVIVE_LIMIT
)
&&
!
is_status
(
STATUS_PROC_COMPLETE
))
{
if
((
!
nolimit
&&
(
current
.
location
&
0x38
))
||
(
!
nocheck
&&
!
nolimit
&&
(
current
.
location
&
0x3
)))
if
((
!
nolimit
&&
(
current
.
location
&
0x38
))
||
(
!
nocheck
&&
!
nolimit
&&
(
current
.
location
&
0x3
)))
return
FALSE
;
return
FALSE
;
/*
* Xyz Pend is not Pendsumable if proc not completed.
* In this situation, I don't know if we can spsm it "ignoring summoning conditions".
* If we can, should change "!nolimit" to "!nocheck".
* This is minimal impacted modification.
*/
if
(
!
nolimit
&&
current
.
location
==
LOCATION_EXTRA
&&
(
current
.
position
&
POS_FACEUP
))
return
FALSE
;
}
/*
* Xyz Pend is not Xyzsumable if Faceup in Extra, even proc completed.
* In this situation, I don't know if we can Xyzsum it "ignoring summoning conditions".
* If we can, should change "!nolimit" to "!nocheck".
* This is minimal impacted modification.
*/
if
(
is_status
(
STATUS_REVIVE_LIMIT
)
&&
!
nolimit
&&
current
.
location
==
LOCATION_EXTRA
&&
(
current
.
position
&
POS_FACEUP
))
{
/*
* Do not really sure for this part. Let's keep it as a note.
*
* if((sumtype & SUMMON_TYPE_RITUAL) == SUMMON_TYPE_RITUAL && (data.type & TYPE_RITUAL))
* return FALSE;
* if((sumtype & SUMMON_TYPE_FUSION) == SUMMON_TYPE_FUSION && (data.type & TYPE_FUSION))
* return FALSE;
*/
if
((
sumtype
&
SUMMON_TYPE_SYNCHRO
)
==
SUMMON_TYPE_SYNCHRO
&&
(
data
.
type
&
TYPE_SYNCHRO
))
return
FALSE
;
if
((
sumtype
&
SUMMON_TYPE_XYZ
)
==
SUMMON_TYPE_XYZ
&&
(
data
.
type
&
TYPE_XYZ
))
return
FALSE
;
}
}
if
(((
sumpos
&
POS_FACEDOWN
)
==
0
)
&&
pduel
->
game_field
->
check_unique_onfield
(
this
,
toplayer
))
if
(((
sumpos
&
POS_FACEDOWN
)
==
0
)
&&
pduel
->
game_field
->
check_unique_onfield
(
this
,
toplayer
))
return
FALSE
;
return
FALSE
;
...
...
script/utility.lua
View file @
e716202b
...
@@ -123,6 +123,7 @@ end
...
@@ -123,6 +123,7 @@ end
function
Auxiliary
.
SynCondition
(
f1
,
f2
,
minct
,
maxc
)
function
Auxiliary
.
SynCondition
(
f1
,
f2
,
minct
,
maxc
)
return
function
(
e
,
c
,
smat
,
mg
)
return
function
(
e
,
c
,
smat
,
mg
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
if
c
:
IsFaceup
()
then
return
false
end
local
ft
=
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
)
local
ct
=-
ft
local
ct
=-
ft
local
minc
=
minct
local
minc
=
minct
...
@@ -195,6 +196,7 @@ function Auxiliary.XyzCondition(f,lv,minc,maxc)
...
@@ -195,6 +196,7 @@ function Auxiliary.XyzCondition(f,lv,minc,maxc)
--og: use special material
--og: use special material
return
function
(
e
,
c
,
og
)
return
function
(
e
,
c
,
og
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
if
c
:
IsFaceup
()
then
return
false
end
local
ft
=
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
)
local
ct
=-
ft
local
ct
=-
ft
if
minc
<=
ct
then
return
false
end
if
minc
<=
ct
then
return
false
end
...
@@ -232,6 +234,7 @@ end
...
@@ -232,6 +234,7 @@ end
function
Auxiliary
.
XyzCondition2
(
f
,
lv
,
minc
,
maxc
,
alterf
,
desc
,
op
)
function
Auxiliary
.
XyzCondition2
(
f
,
lv
,
minc
,
maxc
,
alterf
,
desc
,
op
)
return
function
(
e
,
c
,
og
)
return
function
(
e
,
c
,
og
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
if
c
:
IsFaceup
()
then
return
false
end
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ct
=-
ft
local
ct
=-
ft
...
...
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