Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
V
Vgdpro Scripts
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
List
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
xiaoye
Vgdpro Scripts
Commits
7b4424b1
Commit
7b4424b1
authored
Feb 25, 2025
by
xiaoye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
e51622a5
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
86 additions
and
131 deletions
+86
-131
c10101009.lua
c10101009.lua
+1
-1
c10103001.lua
c10103001.lua
+1
-1
c10103002.lua
c10103002.lua
+1
-1
c10203008.lua
c10203008.lua
+1
-1
c10401007.lua
c10401007.lua
+1
-1
c10401020.lua
c10401020.lua
+1
-1
c10401034.lua
c10401034.lua
+1
-1
c10401044.lua
c10401044.lua
+1
-1
c10401058.lua
c10401058.lua
+1
-1
c10401074.lua
c10401074.lua
+4
-4
c10401095.lua
c10401095.lua
+1
-1
c10402001.lua
c10402001.lua
+1
-1
c10402023.lua
c10402023.lua
+1
-1
c10402046.lua
c10402046.lua
+2
-2
c10402047.lua
c10402047.lua
+2
-2
c10501003.lua
c10501003.lua
+1
-1
c10501034.lua
c10501034.lua
+1
-1
c10501037.lua
c10501037.lua
+1
-1
c10501041.lua
c10501041.lua
+3
-3
c10501056.lua
c10501056.lua
+1
-1
c10501057.lua
c10501057.lua
+1
-1
c10501061.lua
c10501061.lua
+4
-4
c10501069.lua
c10501069.lua
+1
-1
c10501071.lua
c10501071.lua
+1
-1
c10501073.lua
c10501073.lua
+1
-1
c10501118.lua
c10501118.lua
+1
-1
vgd.lua
vgd.lua
+12
-58
vgdefinition.lua
vgdefinition.lua
+8
-7
vgfuncLib.lua
vgfuncLib.lua
+30
-30
No files found.
c10101009.lua
View file @
7b4424b1
...
@@ -2,5 +2,5 @@
...
@@ -2,5 +2,5 @@
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R
ZON
E
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R
_CIRCL
E
)
end
end
\ No newline at end of file
c10103001.lua
View file @
7b4424b1
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_BATTLED
,
cm
.
operation
,
vgf
.
DisCardCost
(
1
),
cm
.
condition
,
nil
,
1
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_BATTLED
,
cm
.
operation
,
vgf
.
DisCardCost
(
1
),
cm
.
condition
,
nil
,
1
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_MOVE
,
cm
.
checkcon
,
cm
.
checkop
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_MOVE
,
cm
.
checkcon
,
cm
.
checkop
)
--【永】【V】:你的回合中,你所有的等级3的单位的力量+2000。
--【永】【V】:你的回合中,你所有的等级3的单位的力量+2000。
vgd
.
AbilityContChangeAttack
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
2000
,
cm
.
con
,
cm
.
target
,
LOCATION_MZONE
+
LOCATION_GCIRCLE
,
0
)
vgd
.
AbilityContChangeAttack
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
2000
,
cm
.
con
,
cm
.
target
,
LOCATION_MZONE
+
LOCATION_G
_
CIRCLE
,
0
)
end
end
function
cm
.
checkfilter
(
c
,
tp
)
function
cm
.
checkfilter
(
c
,
tp
)
return
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsLevel
(
3
)
and
c
:
IsControler
(
tp
)
return
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsLevel
(
3
)
and
c
:
IsControler
(
tp
)
...
...
c10103002.lua
View file @
7b4424b1
...
@@ -25,5 +25,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -25,5 +25,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
cm
.
condition
(
e
,
c
)
function
cm
.
condition
(
e
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_MZONE
+
LOCATION_GCIRCLE
,
0
,
3
,
nil
,
3
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_MZONE
+
LOCATION_G
_
CIRCLE
,
0
,
3
,
nil
,
3
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
\ No newline at end of file
c10203008.lua
View file @
7b4424b1
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GCIRCLE
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayGroup
():
FilterCount
(
Card
.
IsSetCard
,
nil
,
0x76
)
>=
1
return
c
:
IsLocation
(
LOCATION_G
_
CIRCLE
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayGroup
():
FilterCount
(
Card
.
IsSetCard
,
nil
,
0x76
)
>=
1
end
end
function
cm
.
filter
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
filter
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401007.lua
View file @
7b4424b1
...
@@ -18,7 +18,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,7 +18,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_MZONE
+
LOCATION_GCIRCLE
,
0
,
3
,
nil
,
3
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_MZONE
+
LOCATION_G
_
CIRCLE
,
0
,
3
,
nil
,
3
)
end
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401020.lua
View file @
7b4424b1
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R
ZON
E
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R
_CIRCL
E
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
op
,
nil
,
vgf
.
RMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
op
,
nil
,
vgf
.
RMonsterCondition
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10401034.lua
View file @
7b4424b1
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R
ZON
E
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R
_CIRCL
E
)
end
end
\ No newline at end of file
c10401044.lua
View file @
7b4424b1
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_MZONE
+
LOCATION_GCIRCLE
,
0
,
3
,
nil
,
3
)
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_MZONE
+
LOCATION_G
_
CIRCLE
,
0
,
3
,
nil
,
3
)
and
vgf
.
RMonsterCondition
(
e
)
end
end
\ No newline at end of file
c10401058.lua
View file @
7b4424b1
...
@@ -10,5 +10,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,5 +10,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GCIRCLE
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
return
c
:
IsLocation
(
LOCATION_G
_
CIRCLE
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
end
end
\ No newline at end of file
c10401074.lua
View file @
7b4424b1
...
@@ -25,13 +25,13 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -25,13 +25,13 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
costtg
(
e
,
re
,
tp
)
function
cm
.
costtg
(
e
,
re
,
tp
)
e
:
SetLabelObject
(
re
:
GetHandler
())
e
:
SetLabelObject
(
re
:
GetHandler
())
return
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
and
re
:
GetHandlerPlayer
()
==
tp
and
not
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_GCIRCLE
,
0
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
re
:
IsActiveType
(
TYPE_MONSTER
)
return
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
and
re
:
GetHandlerPlayer
()
==
tp
and
not
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_G
_
CIRCLE
,
0
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
re
:
IsActiveType
(
TYPE_MONSTER
)
end
end
function
cm
.
costchk
(
e
,
re
,
tp
)
function
cm
.
costchk
(
e
,
re
,
tp
)
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsAbleToG
c
ircle
,
tp
,
LOCATION_HAND
,
0
,
1
,
re
:
GetHandler
(),
LOCATION_HAND
)
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsAbleToG
C
ircle
,
tp
,
LOCATION_HAND
,
0
,
1
,
re
:
GetHandler
(),
LOCATION_HAND
)
end
end
function
cm
.
costop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
costop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetLabelObject
()
local
c
=
e
:
GetLabelObject
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TO_G
CIRCLE
,
e
,
tp
,
vgf
.
IsAbleToGc
ircle
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
,
LOCATION_HAND
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TO_G
_CIRCLE
,
e
,
tp
,
vgf
.
IsAbleToGC
ircle
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
,
LOCATION_HAND
)
vgf
.
Sendto
(
LOCATION_GCIRCLE
,
g
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_G
_
CIRCLE
,
g
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
\ No newline at end of file
c10401095.lua
View file @
7b4424b1
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
val
(
e
)
function
cm
.
val
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
local
ct
=
vgf
.
GetMatchingGroupCount
(
Card
.
IsLevel
,
tp
,
LOCATION_MZONE
+
LOCATION_GCIRCLE
,
0
,
nil
,
3
)
local
ct
=
vgf
.
GetMatchingGroupCount
(
Card
.
IsLevel
,
tp
,
LOCATION_MZONE
+
LOCATION_G
_
CIRCLE
,
0
,
nil
,
3
)
local
val
=
math.floor
(
ct
/
2
)
*
5000
local
val
=
math.floor
(
ct
/
2
)
*
5000
return
val
return
val
end
end
...
...
c10402001.lua
View file @
7b4424b1
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
CannotCallToG
c
ircleWhenAttack
(
c
,
m
,
function
(
e
,
re
,
tp
)
vgd
.
CannotCallToG
C
ircleWhenAttack
(
c
,
m
,
function
(
e
,
re
,
tp
)
return
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
return
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
end
)
end
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
op
,
cm
.
cost
,
nil
,
nil
,
1
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
op
,
cm
.
cost
,
nil
,
nil
,
1
)
...
...
c10402023.lua
View file @
7b4424b1
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R
ZON
E
,
EFFECT_TYPE_FIELD
,
nil
,
nil
,
cm
.
tg
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R
_CIRCL
E
,
EFFECT_TYPE_FIELD
,
nil
,
nil
,
cm
.
tg
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANMOVE_PARALLEL
)
e1
:
SetCode
(
EFFECT_CANMOVE_PARALLEL
)
...
...
c10402046.lua
View file @
7b4424b1
...
@@ -3,11 +3,11 @@ function cm.initial_effect(c)
...
@@ -3,11 +3,11 @@ function cm.initial_effect(c)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
CostAnd
(
vgf
.
DamageCost
(
1
),
vgf
.
LeaveFieldCost
(
vgf
.
RMonsterFilter
,
1
,
1
,
c
)))
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
CostAnd
(
vgf
.
DamageCost
(
1
),
vgf
.
LeaveFieldCost
(
vgf
.
RMonsterFilter
,
1
,
1
,
c
)))
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_TO_GRAVE
,
cm
.
chkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_TO_GRAVE
,
cm
.
chkcon
)
vgd
.
AbilityContChangeAttack
(
c
,
m
,
LOCATION_R
ZON
E
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con
)
vgd
.
AbilityContChangeAttack
(
c
,
m
,
LOCATION_R
_CIRCL
E
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
nil
,
tp
,
0
,
LOCATION_V
ZON
E
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
nil
,
tp
,
0
,
LOCATION_V
_CIRCL
E
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgd
.
TriggerCountUp
(
c
,
m
,
1
,
nil
,
RESET_PHASE
+
PHASE_END
)
vgd
.
TriggerCountUp
(
c
,
m
,
1
,
nil
,
RESET_PHASE
+
PHASE_END
)
end
end
...
...
c10402047.lua
View file @
7b4424b1
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
cm
.
is_has_continuous
=
true
cm
.
is_has_continuous
=
true
local
loc
,
con
=
vgf
.
GetLocCondition
(
LOCATION_R
ZON
E
,
cm
.
con
)
local
loc
,
con
=
vgf
.
GetLocCondition
(
LOCATION_R
_CIRCL
E
,
cm
.
con
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
...
@@ -13,5 +13,5 @@ function cm.initial_effect(c)
...
@@ -13,5 +13,5 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsSetCard
,
tp
,
LOCATION_V
ZON
E
,
0
,
1
,
nil
,
0x78
)
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsSetCard
,
tp
,
LOCATION_V
_CIRCL
E
,
0
,
1
,
nil
,
0x78
)
end
end
\ No newline at end of file
c10501003.lua
View file @
7b4424b1
...
@@ -33,7 +33,7 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -33,7 +33,7 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e2
:
SetCode
(
AFFECT_CODE_DEFENDER_CANNOT_TO_GCIRCLE
)
e2
:
SetCode
(
AFFECT_CODE_DEFENDER_CANNOT_TO_G
_
CIRCLE
)
e2
:
SetTargetRange
(
0
,
1
)
e2
:
SetTargetRange
(
0
,
1
)
Duel
.
RegisterEffect
(
e2
,
tp
)
Duel
.
RegisterEffect
(
e2
,
tp
)
vgf
.
EffectReset
(
c
,{
e1
,
e2
},
EVENT_BATTLED
)
vgf
.
EffectReset
(
c
,{
e1
,
e2
},
EVENT_BATTLED
)
...
...
c10501034.lua
View file @
7b4424b1
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
-- 白翼-【起】【V】【1回合1次】:通过【费用】[计数爆发1],这个回合中,这个单位的☆+1。
-- 白翼-【起】【V】【1回合1次】:通过【费用】[计数爆发1],这个回合中,这个单位的☆+1。
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op2
,
vgf
.
DamageCost
(
1
),
cm
.
con2
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op2
,
vgf
.
DamageCost
(
1
),
cm
.
con2
,
nil
,
1
)
-- 黑翼-【永】【V】:这个单位攻击的战斗中,对手不能将触发单位卡从手牌CALL到G上。
-- 黑翼-【永】【V】:这个单位攻击的战斗中,对手不能将触发单位卡从手牌CALL到G上。
VgD
.
CannotCallToG
c
ircleWhenAttack
(
c
,
m
,
function
(
e
,
re
,
tp
)
VgD
.
CannotCallToG
C
ircleWhenAttack
(
c
,
m
,
function
(
e
,
re
,
tp
)
return
re
:
GetHandler
():
IsType
(
TYPE_TRIIGER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
return
re
:
GetHandler
():
IsType
(
TYPE_TRIIGER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
end
,
cm
.
con3
)
end
,
cm
.
con3
)
end
end
...
...
c10501037.lua
View file @
7b4424b1
...
@@ -14,7 +14,7 @@ end
...
@@ -14,7 +14,7 @@ end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATOHAND
,
e
,
tp
,
nil
,
tp
,
LOCATION_R
ZON
E
+
LOCATION_OVERLAY
,
0
,
0
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATOHAND
,
e
,
tp
,
nil
,
tp
,
LOCATION_R
_CIRCL
E
+
LOCATION_OVERLAY
,
0
,
0
,
1
,
nil
)
if
#
g
>
0
then
if
#
g
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
vgf
.
Sendto
(
LOCATION_HAND
,
tc
,
tp
)
vgf
.
Sendto
(
LOCATION_HAND
,
tc
,
tp
)
...
...
c10501041.lua
View file @
7b4424b1
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_R
ZON
E
,
cm
.
op
,
vgf
.
CostAnd
(
vgf
.
DamageCost
(
1
),
vgf
.
ToOverlayCost
))
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_R
_CIRCL
E
,
cm
.
op
,
vgf
.
CostAnd
(
vgf
.
DamageCost
(
1
),
vgf
.
ToOverlayCost
))
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_V
ZON
E
,
EFFECT_TYPE_SINGLE
,
nil
,
vgf
.
DarkWing
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_V
_CIRCL
E
,
EFFECT_TYPE_SINGLE
,
nil
,
vgf
.
DarkWing
)
vgd
.
CannotBeAttackTarget
(
c
,
m
,
LOCATION_V
ZON
E
,
EFFECT_TYPE_SINGLE
,
cm
.
val
,
vgf
.
DarkWing
)
vgd
.
CannotBeAttackTarget
(
c
,
m
,
LOCATION_V
_CIRCL
E
,
EFFECT_TYPE_SINGLE
,
cm
.
val
,
vgf
.
DarkWing
)
end
end
function
cm
.
val
(
e
,
c
)
function
cm
.
val
(
e
,
c
)
return
vgf
.
RMonsterFilter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
...
...
c10501056.lua
View file @
7b4424b1
...
@@ -17,7 +17,7 @@ end
...
@@ -17,7 +17,7 @@ end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_V
ZON
E
,
0
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_V
_CIRCL
E
,
0
,
nil
)
vgf
.
StarUp
(
c
,
g
,
1
,
nil
)
vgf
.
StarUp
(
c
,
g
,
1
,
nil
)
end
end
...
...
c10501057.lua
View file @
7b4424b1
...
@@ -14,7 +14,7 @@ function cm.initial_effect(c)
...
@@ -14,7 +14,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_V
ZON
E
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_V
_CIRCL
E
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
...
...
c10501061.lua
View file @
7b4424b1
...
@@ -24,13 +24,13 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -24,13 +24,13 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
costtg
(
e
,
re
,
tp
)
function
cm
.
costtg
(
e
,
re
,
tp
)
e
:
SetLabelObject
(
re
:
GetHandler
())
e
:
SetLabelObject
(
re
:
GetHandler
())
return
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
and
re
:
GetHandlerPlayer
()
==
tp
and
not
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_GCIRCLE
,
0
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
re
:
IsActiveType
(
TYPE_MONSTER
)
return
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
and
re
:
GetHandlerPlayer
()
==
tp
and
not
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_G
_
CIRCLE
,
0
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
re
:
IsActiveType
(
TYPE_MONSTER
)
end
end
function
cm
.
costchk
(
e
,
re
,
tp
)
function
cm
.
costchk
(
e
,
re
,
tp
)
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsAbleToG
c
ircle
,
tp
,
LOCATION_HAND
,
0
,
1
,
re
:
GetHandler
(),
LOCATION_HAND
)
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsAbleToG
C
ircle
,
tp
,
LOCATION_HAND
,
0
,
1
,
re
:
GetHandler
(),
LOCATION_HAND
)
end
end
function
cm
.
costop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
costop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetLabelObject
()
local
c
=
e
:
GetLabelObject
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TO_G
CIRCLE
,
e
,
tp
,
vgf
.
IsAbleToGc
ircle
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
,
LOCATION_HAND
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TO_G
_CIRCLE
,
e
,
tp
,
vgf
.
IsAbleToGC
ircle
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
,
LOCATION_HAND
)
vgf
.
Sendto
(
LOCATION_GCIRCLE
,
g
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_G
_
CIRCLE
,
g
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
\ No newline at end of file
c10501069.lua
View file @
7b4424b1
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GCIRCLE
)
return
c
:
IsLocation
(
LOCATION_G
_
CIRCLE
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501071.lua
View file @
7b4424b1
...
@@ -18,5 +18,5 @@ end
...
@@ -18,5 +18,5 @@ end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GCIRCLE
)
return
c
:
IsLocation
(
LOCATION_G
_
CIRCLE
)
end
end
c10501073.lua
View file @
7b4424b1
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GCIRCLE
)
return
c
:
IsLocation
(
LOCATION_G
_
CIRCLE
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501118.lua
View file @
7b4424b1
...
@@ -32,7 +32,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -32,7 +32,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel
.
RegisterEffect
(
e4
,
tp
)
Duel
.
RegisterEffect
(
e4
,
tp
)
end
end
function
cm
.
repfilter
(
c
,
tp
)
function
cm
.
repfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
(
c
:
IsLocation
(
LOCATION_GCIRCLE
)
or
vgf
.
RMonsterFilter
(
c
))
and
c
:
GetDestination
()
==
LOCATION_DROP
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsFaceup
()
and
not
cm
.
filter
(
c
)
return
c
:
IsControler
(
tp
)
and
(
c
:
IsLocation
(
LOCATION_G
_
CIRCLE
)
or
vgf
.
RMonsterFilter
(
c
))
and
c
:
GetDestination
()
==
LOCATION_DROP
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsFaceup
()
and
not
cm
.
filter
(
c
)
end
end
function
cm
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
cm
.
repfilter
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
eg
:
IsExists
(
cm
.
repfilter
,
1
,
nil
,
tp
)
end
...
...
vgd.lua
View file @
7b4424b1
...
@@ -767,7 +767,7 @@ function VgD.MonsterBattle(c)
...
@@ -767,7 +767,7 @@ function VgD.MonsterBattle(c)
end
end
return
atk
return
atk
elseif
Duel
.
GetAttackTarget
()
==
e
:
GetHandler
()
then
elseif
Duel
.
GetAttackTarget
()
==
e
:
GetHandler
()
then
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_GCIRCLE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_G
_
CIRCLE
,
0
,
nil
)
for
tc
in
VgF
.
Next
(
g
)
do
for
tc
in
VgF
.
Next
(
g
)
do
local
def
=
tc
:
GetDefense
()
local
def
=
tc
:
GetDefense
()
if
def
<
0
then
def
=
0
end
if
def
<
0
then
def
=
0
end
...
@@ -792,10 +792,10 @@ function VgD.MonsterBattle(c)
...
@@ -792,10 +792,10 @@ function VgD.MonsterBattle(c)
return
bc
and
bc
:
IsControler
(
tp
)
and
bc
~=
e
:
GetHandler
()
return
bc
and
bc
:
IsControler
(
tp
)
and
bc
~=
e
:
GetHandler
()
end
)
end
)
e7
:
SetTarget
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e7
:
SetTarget
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
VgF
.
IsAbleToG
c
ircle
(
e
:
GetHandler
())
end
if
chk
==
0
then
return
VgF
.
IsAbleToG
C
ircle
(
e
:
GetHandler
())
end
end
)
end
)
e7
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e7
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
VgF
.
Sendto
(
LOCATION_GCIRCLE
,
e
:
GetHandler
(),
tp
,
POS_FACEUP
,
REASON_EFFECT
)
VgF
.
Sendto
(
LOCATION_G
_
CIRCLE
,
e
:
GetHandler
(),
tp
,
POS_FACEUP
,
REASON_EFFECT
)
end
)
end
)
c
:
RegisterEffect
(
e7
)
c
:
RegisterEffect
(
e7
)
local
e8
=
Effect
.
CreateEffect
(
c
)
local
e8
=
Effect
.
CreateEffect
(
c
)
...
@@ -805,7 +805,7 @@ function VgD.MonsterBattle(c)
...
@@ -805,7 +805,7 @@ function VgD.MonsterBattle(c)
e8
:
SetRange
(
LOCATION_ALL
)
e8
:
SetRange
(
LOCATION_ALL
)
e8
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e8
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e8
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e8
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_GCIRCLE
,
0
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_G
_
CIRCLE
,
0
)
if
g
:
GetCount
()
>
0
then
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_RULE
)
end
if
g
:
GetCount
()
>
0
then
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_RULE
)
end
end
)
end
)
c
:
RegisterEffect
(
e8
)
c
:
RegisterEffect
(
e8
)
...
@@ -1416,7 +1416,7 @@ function VgD.AbilityAuto(c, m, loc, typ, code, op, cost, con, tg, count, propert
...
@@ -1416,7 +1416,7 @@ function VgD.AbilityAuto(c, m, loc, typ, code, op, cost, con, tg, count, propert
e1
:
SetCode
(
EVENT_MOVE
)
e1
:
SetCode
(
EVENT_MOVE
)
if
cost
then
e1
:
SetCost
(
cost
)
end
if
cost
then
e1
:
SetCost
(
cost
)
end
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
(
not
con
or
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
))
and
e
:
GetHandler
():
IsLocation
(
LOCATION_GCIRCLE
)
and
Duel
.
GetAttackTarget
()
return
(
not
con
or
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
))
and
e
:
GetHandler
():
IsLocation
(
LOCATION_G
_
CIRCLE
)
and
Duel
.
GetAttackTarget
()
end
)
end
)
e1
:
SetOperation
(
op
)
e1
:
SetOperation
(
op
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
...
@@ -1567,7 +1567,7 @@ end
...
@@ -1567,7 +1567,7 @@ end
---@param loc_op number|nil 这个效果影响的对方区域,影响全域范围才需填
---@param loc_op number|nil 这个效果影响的对方区域,影响全域范围才需填
---@param reset number|nil 效果的重置条件
---@param reset number|nil 效果的重置条件
---@param hc Card|nil 效果的拥有者, 没有则为 c
---@param hc Card|nil 效果的拥有者, 没有则为 c
---@return Effect|nil 这个效果
---@return Effect|nil
, Effect|nil
这个效果
function
VgD
.
AbilityCont
(
c
,
m
,
loc
,
typ
,
code
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
function
VgD
.
AbilityCont
(
c
,
m
,
loc
,
typ
,
code
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
-- check func
-- check func
local
fchk
=
VgF
.
IllegalFunctionCheck
(
"AbilityCont"
,
c
)
local
fchk
=
VgF
.
IllegalFunctionCheck
(
"AbilityCont"
,
c
)
...
@@ -1575,6 +1575,11 @@ function VgD.AbilityCont(c, m, loc, typ, code, val, con, tg, loc_self, loc_op, r
...
@@ -1575,6 +1575,11 @@ function VgD.AbilityCont(c, m, loc, typ, code, val, con, tg, loc_self, loc_op, r
-- set param
-- set param
local
cm
=
_G
[
"c"
..
(
m
or
c
:
GetOriginalCode
())]
local
cm
=
_G
[
"c"
..
(
m
or
c
:
GetOriginalCode
())]
cm
.
is_has_continuous
=
cm
.
is_has_continuous
or
not
reset
cm
.
is_has_continuous
=
cm
.
is_has_continuous
or
not
reset
if
code
==
EFFECT_UPDATE_CRITICAL
then
local
e1
=
VgD
.
AbilityCont
(
c
,
m
,
LOCATION_MZONE
,
typ
,
EFFECT_UPDATE_LSCALE
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
local
e2
=
VgD
.
AbilityCont
(
c
,
m
,
LOCATION_MZONE
,
typ
,
EFFECT_UPDATE_RSCALE
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
return
e1
,
e2
end
loc
,
con
=
VgF
.
GetLocCondition
(
loc
,
con
)
loc
,
con
=
VgF
.
GetLocCondition
(
loc
,
con
)
hc
=
hc
or
c
hc
=
hc
or
c
-- set effect
-- set effect
...
@@ -1591,57 +1596,6 @@ function VgD.AbilityCont(c, m, loc, typ, code, val, con, tg, loc_self, loc_op, r
...
@@ -1591,57 +1596,6 @@ function VgD.AbilityCont(c, m, loc, typ, code, val, con, tg, loc_self, loc_op, r
return
e
return
e
end
end
---【永】力量数值变更
---@param c Card 效果的创建者
---@param m number|nil 效果的创建者的卡号
---@param loc number 生效的区域
---@param typ number 只影响自己,则填EFFECT_TYPE_SINGLE;<br>影响场上,则填EFFECT_TYPE_FIELD。
---@param val function|number 变更的数值
---@param con function|nil 这个效果的条件函数
---@param tg function|nil 这个效果的影响目标(全域)
---@param loc_self number|nil 这个效果影响的自己区域,影响全域范围才需填
---@param loc_op number|nil 这个效果影响的对方区域,影响全域范围才需填
---@param reset number|nil 效果的重置条件
---@param hc Card|nil 效果的拥有者, 没有则为 c
---@return Effect|nil 这个效果
function
VgD
.
AbilityContChangeAttack
(
c
,
m
,
loc
,
typ
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
return
VgD
.
AbilityCont
(
c
,
m
,
loc
,
typ
,
EFFECT_UPDATE_ATTACK
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
end
---【永】盾护数值变更
---@param c Card 效果的创建者
---@param m number|nil 效果的创建者的卡号
---@param typ number 只影响自己,则填EFFECT_TYPE_SINGLE;<br>影响场上,则填EFFECT_TYPE_FIELD。
---@param val function|number 变更的数值
---@param con function|nil 这个效果的条件函数
---@param tg function|nil 这个效果的影响目标(全域)
---@param loc_self number|nil 这个效果影响的自己区域,影响全域范围才需填
---@param loc_op number|nil 这个效果影响的对方区域,影响全域范围才需填
---@param reset number|nil 效果的重置条件
---@param hc Card|nil 效果的拥有者, 没有则为 c
---@return Effect 这个效果
function
VgD
.
AbilityContChangeDefense
(
c
,
m
,
typ
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
return
VgD
.
AbilityCont
(
c
,
m
,
LOCATION_GCIRCLE
,
typ
,
EFFECT_UPDATE_DEFENSE
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
end
---【永】暴击数值变更
---@param c Card 效果的创建者
---@param m number|nil 效果的创建者的卡号
---@param typ number 只影响自己,则填EFFECT_TYPE_SINGLE;<br>影响场上,则填EFFECT_TYPE_FIELD。
---@param val number 变更的数值
---@param con function|nil 这个效果的条件函数
---@param tg function|nil 这个效果的影响目标(全域)
---@param loc_self number|nil 这个效果影响的自己区域,影响全域范围才需填
---@param loc_op number|nil 这个效果影响的对方区域,影响全域范围才需填
---@param reset number|nil 效果的重置条件
---@param hc Card|nil 效果的拥有者, 没有则为 c
---@return Effect 两个效果
function
VgD
.
AbilityContChangeStar
(
c
,
m
,
typ
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
local
e1
=
VgD
.
AbilityCont
(
c
,
m
,
LOCATION_MZONE
,
typ
,
EFFECT_UPDATE_LSCALE
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
local
e2
=
VgD
.
AbilityCont
(
c
,
m
,
LOCATION_MZONE
,
typ
,
EFFECT_UPDATE_RSCALE
,
val
,
con
,
tg
,
loc_self
,
loc_op
,
reset
,
hc
)
return
e1
,
e2
end
---【永】驱动数值变更
---【永】驱动数值变更
---@param c Card 效果的创建者
---@param c Card 效果的创建者
---@param m number|nil 效果的创建者的卡号
---@param m number|nil 效果的创建者的卡号
...
@@ -1769,7 +1723,7 @@ end
...
@@ -1769,7 +1723,7 @@ end
---@param reset number|nil 效果的重置条件
---@param reset number|nil 效果的重置条件
---@param hc Card|nil 效果的拥有者, 没有则为 c
---@param hc Card|nil 效果的拥有者, 没有则为 c
---@return Effect|nil 这个效果
---@return Effect|nil 这个效果
function
VgD
.
CannotCallToG
c
ircleWhenAttack
(
c
,
m
,
val
,
condition
,
reset
,
hc
)
function
VgD
.
CannotCallToG
C
ircleWhenAttack
(
c
,
m
,
val
,
condition
,
reset
,
hc
)
-- set param
-- set param
local
cm
=
_G
[
"c"
..
(
m
or
c
:
GetOriginalCode
())]
local
cm
=
_G
[
"c"
..
(
m
or
c
:
GetOriginalCode
())]
cm
.
is_has_continuous
=
cm
.
is_has_continuous
or
not
reset
cm
.
is_has_continuous
=
cm
.
is_has_continuous
or
not
reset
...
...
vgdefinition.lua
View file @
7b4424b1
...
@@ -23,17 +23,17 @@ LOCATION_EXILE = 0x400 --除外区
...
@@ -23,17 +23,17 @@ LOCATION_EXILE = 0x400 --除外区
LOCATION_DAMAGE
=
0x800
--伤害区
LOCATION_DAMAGE
=
0x800
--伤害区
LOCATION_ORDER
=
0x1000
--指令区
LOCATION_ORDER
=
0x1000
--指令区
LOCATION_SPARE
=
0x2000
--备用格子(用于怪物箱等)
LOCATION_SPARE
=
0x2000
--备用格子(用于怪物箱等)
LOCATION_GCIRCLE
=
0x4000
--G区域
LOCATION_G
_
CIRCLE
=
0x4000
--G区域
LOCATION_EMBLEM
=
0x8000
--纹章区
LOCATION_EMBLEM
=
0x8000
--纹章区
LOCATION_RIDE
=
LOCATION_EXTRA
LOCATION_RIDE
=
LOCATION_EXTRA
LOCATION_DROP
=
LOCATION_GRAVE
LOCATION_DROP
=
LOCATION_GRAVE
LOCATION_LOCK
=
LOCATION_REMOVED
LOCATION_LOCK
=
LOCATION_REMOVED
LOCATION_ALL
=
0xffff
LOCATION_ALL
=
0xffff
LOCATION_R
ZONE
=
0x10000
LOCATION_R
_CIRCLE
=
0x10000
-- 后防者圆阵
LOCATION_V
ZONE
=
0x20000
LOCATION_V
_CIRCLE
=
0x20000
-- 先导者圆阵
LOCATION_LIST
=
{
0x1
,
0x2
,
0x4
,
0x10
,
0x20
,
0x40
,
0x80
,
0x400
,
0x800
,
0x1000
,
0x2000
,
0x4000
,
0x8000
}
LOCATION_LIST
=
{
0x1
,
0x2
,
0x4
,
0x10
,
0x20
,
0x40
,
0x80
,
0x400
,
0x800
,
0x1000
,
0x2000
,
0x4000
,
0x8000
}
--LOCATION_LIST={LOCATION_HAND, LOCATION_MZONE, LOCATION_DROP, LOCATION_LOCK, LOCATION_RIDE, LOCATION_OVERLAY, LOCATION_EXILE, LOCATION_DAMAGE, LOCATION_ORDER, LOCATION_SPARE, LOCATION_GCIRCLE, LOCATION_EMBLEM}
--LOCATION_LIST={LOCATION_HAND, LOCATION_MZONE, LOCATION_DROP, LOCATION_LOCK, LOCATION_RIDE, LOCATION_OVERLAY, LOCATION_EXILE, LOCATION_DAMAGE, LOCATION_ORDER, LOCATION_SPARE, LOCATION_G
_
CIRCLE, LOCATION_EMBLEM}
LOCATION_LIST_STRING
=
{
"LOCATION_DECK"
,
"LOCATION_HAND"
,
"LOCATION_MZONE"
,
"LOCATION_DROP"
,
"LOCATION_LOCK"
,
"LOCATION_RIDE"
,
"LOCATION_OVERLAY"
,
"LOCATION_EXILE"
,
"LOCATION_DAMAGE"
,
"LOCATION_ORDER"
,
"LOCATION_SPARE"
,
"LOCATION_GCIRCLE"
,
"LOCATION_EMBLEM"
}
LOCATION_LIST_STRING
=
{
"LOCATION_DECK"
,
"LOCATION_HAND"
,
"LOCATION_MZONE"
,
"LOCATION_DROP"
,
"LOCATION_LOCK"
,
"LOCATION_RIDE"
,
"LOCATION_OVERLAY"
,
"LOCATION_EXILE"
,
"LOCATION_DAMAGE"
,
"LOCATION_ORDER"
,
"LOCATION_SPARE"
,
"LOCATION_G
_
CIRCLE"
,
"LOCATION_EMBLEM"
}
--Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部
--Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部
LOCATION_DECKBOT
=
0x10001
--弹回卡组底部
LOCATION_DECKBOT
=
0x10001
--弹回卡组底部
LOCATION_DECKSHF
=
0x20001
--弹回卡组并洗牌
LOCATION_DECKSHF
=
0x20001
--弹回卡组并洗牌
...
@@ -415,6 +415,7 @@ EFFECT_MSET_COST = 94 --怪兽放置代价
...
@@ -415,6 +415,7 @@ EFFECT_MSET_COST = 94 --怪兽放置代价
EFFECT_SSET_COST
=
95
--魔陷放置代价
EFFECT_SSET_COST
=
95
--魔陷放置代价
EFFECT_ATTACK_COST
=
96
--攻击代价(霞之谷猎鹰)
EFFECT_ATTACK_COST
=
96
--攻击代价(霞之谷猎鹰)
EFFECT_CANMOVE_PARALLEL
=
97
--横向移动
EFFECT_CANMOVE_PARALLEL
=
97
--横向移动
EFFECT_UPDATE_CRITICAL
=
98
--增减暴击值
EFFECT_UPDATE_ATTACK
=
100
--增减攻击力
EFFECT_UPDATE_ATTACK
=
100
--增减攻击力
EFFECT_SET_ATTACK
=
101
--设置自身攻击力、攻击力变成X特殊召唤、持续改变攻击力
EFFECT_SET_ATTACK
=
101
--设置自身攻击力、攻击力变成X特殊召唤、持续改变攻击力
...
@@ -747,7 +748,7 @@ HINTMSG_FACEDOWN = 515 --请选择里侧表示的卡
...
@@ -747,7 +748,7 @@ HINTMSG_FACEDOWN = 515 --请选择里侧表示的卡
HINTMSG_ATTACK
=
516
--请选择攻击表示的怪兽
HINTMSG_ATTACK
=
516
--请选择攻击表示的怪兽
HINTMSG_DEFENSE
=
517
--请选择守备表示的怪兽
HINTMSG_DEFENSE
=
517
--请选择守备表示的怪兽
HINTMSG_EQUIP
=
518
--请选择要装备的卡
HINTMSG_EQUIP
=
518
--请选择要装备的卡
HINTMSG_TO_GCIRCLE
=
519
--请选择要CALL到防卫者圆阵的卡
HINTMSG_TO_G
_
CIRCLE
=
519
--请选择要CALL到防卫者圆阵的卡
HINTMSG_VMONSTER
=
522
--请选择先导者
HINTMSG_VMONSTER
=
522
--请选择先导者
HINTMSG_RMONSTER
=
523
--请选择后防者
HINTMSG_RMONSTER
=
523
--请选择后防者
HINTMSG_MONSTER
=
524
--请选择单位
HINTMSG_MONSTER
=
524
--请选择单位
...
@@ -879,7 +880,7 @@ AFFECT_CODE_BOTH_WING = VgID + 2 --你的卡片的白翼能力和黑翼能力
...
@@ -879,7 +880,7 @@ AFFECT_CODE_BOTH_WING = VgID + 2 --你的卡片的白翼能力和黑翼能力
AFFECT_CODE_NIGHT
=
VgID
+
3
--黑夜
AFFECT_CODE_NIGHT
=
VgID
+
3
--黑夜
AFFECT_CODE_DEEP_NIGHT
=
VgID
+
4
--深渊黑夜
AFFECT_CODE_DEEP_NIGHT
=
VgID
+
4
--深渊黑夜
AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC
=
VgID
+
5
--魔合成可以不支付灵魂爆发
AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC
=
VgID
+
5
--魔合成可以不支付灵魂爆发
AFFECT_CODE_DEFENDER_CANNOT_TO_GCIRCLE
=
VgID
+
6
--不能将守护者从手牌CALL到G上
AFFECT_CODE_DEFENDER_CANNOT_TO_G
_
CIRCLE
=
VgID
+
6
--不能将守护者从手牌CALL到G上
AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE
=
10501082
--不执行『选择手牌中的1张卡,舍弃』而是执行『灵魂爆发1』来将卡RIDE
AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE
=
10501082
--不执行『选择手牌中的1张卡,舍弃』而是执行『灵魂爆发1』来将卡RIDE
...
...
vgfuncLib.lua
View file @
7b4424b1
...
@@ -558,9 +558,9 @@ end
...
@@ -558,9 +558,9 @@ end
---判断c是否可以以规则的手段到G区域。
---判断c是否可以以规则的手段到G区域。
---@param c Card 要判断的卡
---@param c Card 要判断的卡
---@return boolean 指示c能否去到G区域。
---@return boolean 指示c能否去到G区域。
function
VgF
.
IsAbleToG
c
ircle
(
c
)
function
VgF
.
IsAbleToG
C
ircle
(
c
)
if
c
:
IsLocation
(
LOCATION_HAND
)
then
if
c
:
IsLocation
(
LOCATION_HAND
)
then
if
Duel
.
IsPlayerAffectedByEffect
(
c
:
GetControler
(),
AFFECT_CODE_DEFENDER_CANNOT_TO_GCIRCLE
)
and
c
:
GetBaseDefense
()
==
0
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
c
:
GetControler
(),
AFFECT_CODE_DEFENDER_CANNOT_TO_G
_
CIRCLE
)
and
c
:
GetBaseDefense
()
==
0
then
return
false
end
return
c
:
IsType
(
TYPE_MONSTER
)
return
c
:
IsType
(
TYPE_MONSTER
)
elseif
c
:
IsLocation
(
LOCATION_MZONE
)
then
elseif
c
:
IsLocation
(
LOCATION_MZONE
)
then
return
c
:
IsAttribute
(
SKILL_BLOCK
)
and
VgF
.
IsSequence
(
c
,
0
,
4
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
()
return
c
:
IsAttribute
(
SKILL_BLOCK
)
and
VgF
.
IsSequence
(
c
,
0
,
4
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
()
...
@@ -820,7 +820,7 @@ function VgF.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min, ...)
...
@@ -820,7 +820,7 @@ function VgF.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min, ...)
local
ext_params
=
{
...
}
local
ext_params
=
{
...
}
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
loc_to
or
not
loc_from
then
return
0
end
if
not
loc_to
or
not
loc_from
then
return
0
end
if
loc_from
==
LOCATION_R
ZON
E
then
loc_from
=
LOCATION_MZONE
end
if
loc_from
==
LOCATION_R
_CIRCL
E
then
loc_from
=
LOCATION_MZONE
end
if
VgF
.
GetValueType
(
int_max
)
~=
"number"
then
int_max
=
1
end
if
VgF
.
GetValueType
(
int_max
)
~=
"number"
then
int_max
=
1
end
if
VgF
.
GetValueType
(
int_min
)
~=
"number"
then
int_min
=
int_max
end
if
VgF
.
GetValueType
(
int_min
)
~=
"number"
then
int_min
=
int_max
end
if
loc_to
==
LOCATION_HAND
then
if
loc_to
==
LOCATION_HAND
then
...
@@ -830,7 +830,7 @@ function VgF.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min, ...)
...
@@ -830,7 +830,7 @@ function VgF.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min, ...)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
nil
,
reason
)
return
VgF
.
Sendto
(
loc_to
,
g
,
nil
,
reason
)
end
end
elseif
loc_to
==
LOCATION_V
ZON
E
then
elseif
loc_to
==
LOCATION_V
_CIRCL
E
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
if
not
VgF
.
IsCanBeCalled
(
c
,
e
,
tp
)
then
return
false
end
if
not
VgF
.
IsCanBeCalled
(
c
,
e
,
tp
)
then
return
false
end
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
))
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
))
...
@@ -1132,37 +1132,37 @@ function VgF.SelectMatchingCard(hintmsg, e, select_tp, f, tp, loc_self, loc_op,
...
@@ -1132,37 +1132,37 @@ function VgF.SelectMatchingCard(hintmsg, e, select_tp, f, tp, loc_self, loc_op,
local
g
=
Group
.
CreateGroup
()
local
g
=
Group
.
CreateGroup
()
local
loc_self_f
=
VgF
.
True
local
loc_self_f
=
VgF
.
True
local
loc_op_f
=
VgF
.
True
local
loc_op_f
=
VgF
.
True
if
bit
.
band
(
loc_self
,
LOCATION_V
ZONE
)
>
0
and
bit
.
band
(
loc_self
,
LOCATION_RZON
E
)
>
0
then
if
bit
.
band
(
loc_self
,
LOCATION_V
_CIRCLE
)
>
0
and
bit
.
band
(
loc_self
,
LOCATION_R_CIRCL
E
)
>
0
then
loc_self
=
loc_self
-
LOCATION_V
ZONE
-
LOCATION_RZON
E
loc_self
=
loc_self
-
LOCATION_V
_CIRCLE
-
LOCATION_R_CIRCL
E
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_MZONE
loc_self
=
loc_self
+
LOCATION_MZONE
end
end
elseif
bit
.
band
(
loc_self
,
LOCATION_V
ZON
E
)
>
0
then
elseif
bit
.
band
(
loc_self
,
LOCATION_V
_CIRCL
E
)
>
0
then
loc_self
=
loc_self
-
LOCATION_V
ZON
E
loc_self
=
loc_self
-
LOCATION_V
_CIRCL
E
loc_self_f
=
VgF
.
VMonsterFilter
loc_self_f
=
VgF
.
VMonsterFilter
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_MZONE
loc_self
=
loc_self
+
LOCATION_MZONE
end
end
elseif
bit
.
band
(
loc_self
,
LOCATION_R
ZON
E
)
>
0
then
elseif
bit
.
band
(
loc_self
,
LOCATION_R
_CIRCL
E
)
>
0
then
loc_self
=
loc_self
-
LOCATION_R
ZON
E
loc_self
=
loc_self
-
LOCATION_R
_CIRCL
E
loc_self_f
=
VgF
.
RMonsterFilter
loc_self_f
=
VgF
.
RMonsterFilter
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_MZONE
loc_self
=
loc_self
+
LOCATION_MZONE
end
end
end
end
if
bit
.
band
(
loc_op
,
LOCATION_V
ZONE
)
>
0
and
bit
.
band
(
loc_op
,
LOCATION_RZON
E
)
>
0
then
if
bit
.
band
(
loc_op
,
LOCATION_V
_CIRCLE
)
>
0
and
bit
.
band
(
loc_op
,
LOCATION_R_CIRCL
E
)
>
0
then
loc_op
=
loc_op
-
LOCATION_V
ZONE
-
LOCATION_RZON
E
loc_op
=
loc_op
-
LOCATION_V
_CIRCLE
-
LOCATION_R_CIRCL
E
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_MZONE
loc_op
=
loc_op
+
LOCATION_MZONE
end
end
elseif
bit
.
band
(
loc_op
,
LOCATION_V
ZON
E
)
>
0
then
elseif
bit
.
band
(
loc_op
,
LOCATION_V
_CIRCL
E
)
>
0
then
loc_op
=
loc_op
-
LOCATION_V
ZON
E
loc_op
=
loc_op
-
LOCATION_V
_CIRCL
E
loc_op_f
=
VgF
.
VMonsterFilter
loc_op_f
=
VgF
.
VMonsterFilter
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_MZONE
loc_op
=
loc_op
+
LOCATION_MZONE
end
end
elseif
bit
.
band
(
loc_op
,
LOCATION_R
ZON
E
)
>
0
then
elseif
bit
.
band
(
loc_op
,
LOCATION_R
_CIRCL
E
)
>
0
then
loc_op
=
loc_op
-
LOCATION_R
ZON
E
loc_op
=
loc_op
-
LOCATION_R
_CIRCL
E
loc_op_f
=
VgF
.
RMonsterFilter
loc_op_f
=
VgF
.
RMonsterFilter
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_MZONE
loc_op
=
loc_op
+
LOCATION_MZONE
...
@@ -1220,37 +1220,37 @@ end
...
@@ -1220,37 +1220,37 @@ end
function
VgF
.
GetMatchingGroup
(
f
,
tp
,
loc_self
,
loc_op
,
except_g
,
...
)
function
VgF
.
GetMatchingGroup
(
f
,
tp
,
loc_self
,
loc_op
,
except_g
,
...
)
local
loc_self_f
=
VgF
.
True
local
loc_self_f
=
VgF
.
True
local
loc_op_f
=
VgF
.
True
local
loc_op_f
=
VgF
.
True
if
bit
.
band
(
loc_self
,
LOCATION_V
ZONE
)
>
0
and
bit
.
band
(
loc_self
,
LOCATION_RZON
E
)
>
0
then
if
bit
.
band
(
loc_self
,
LOCATION_V
_CIRCLE
)
>
0
and
bit
.
band
(
loc_self
,
LOCATION_R_CIRCL
E
)
>
0
then
loc_self
=
loc_self
-
LOCATION_V
ZONE
-
LOCATION_RZON
E
loc_self
=
loc_self
-
LOCATION_V
_CIRCLE
-
LOCATION_R_CIRCL
E
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_MZONE
loc_self
=
loc_self
+
LOCATION_MZONE
end
end
elseif
bit
.
band
(
loc_self
,
LOCATION_V
ZON
E
)
>
0
then
elseif
bit
.
band
(
loc_self
,
LOCATION_V
_CIRCL
E
)
>
0
then
loc_self
=
loc_self
-
LOCATION_V
ZON
E
loc_self
=
loc_self
-
LOCATION_V
_CIRCL
E
loc_self_f
=
VgF
.
VMonsterFilter
loc_self_f
=
VgF
.
VMonsterFilter
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_MZONE
loc_self
=
loc_self
+
LOCATION_MZONE
end
end
elseif
bit
.
band
(
loc_self
,
LOCATION_R
ZON
E
)
>
0
then
elseif
bit
.
band
(
loc_self
,
LOCATION_R
_CIRCL
E
)
>
0
then
loc_self
=
loc_self
-
LOCATION_R
ZON
E
loc_self
=
loc_self
-
LOCATION_R
_CIRCL
E
loc_self_f
=
VgF
.
RMonsterFilter
loc_self_f
=
VgF
.
RMonsterFilter
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_MZONE
loc_self
=
loc_self
+
LOCATION_MZONE
end
end
end
end
if
bit
.
band
(
loc_op
,
LOCATION_V
ZONE
)
>
0
and
bit
.
band
(
loc_op
,
LOCATION_RZON
E
)
>
0
then
if
bit
.
band
(
loc_op
,
LOCATION_V
_CIRCLE
)
>
0
and
bit
.
band
(
loc_op
,
LOCATION_R_CIRCL
E
)
>
0
then
loc_op
=
loc_op
-
LOCATION_V
ZONE
-
LOCATION_RZON
E
loc_op
=
loc_op
-
LOCATION_V
_CIRCLE
-
LOCATION_R_CIRCL
E
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_MZONE
loc_op
=
loc_op
+
LOCATION_MZONE
end
end
elseif
bit
.
band
(
loc_op
,
LOCATION_V
ZON
E
)
>
0
then
elseif
bit
.
band
(
loc_op
,
LOCATION_V
_CIRCL
E
)
>
0
then
loc_op
=
loc_op
-
LOCATION_V
ZON
E
loc_op
=
loc_op
-
LOCATION_V
_CIRCL
E
loc_op_f
=
VgF
.
VMonsterFilter
loc_op_f
=
VgF
.
VMonsterFilter
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_MZONE
loc_op
=
loc_op
+
LOCATION_MZONE
end
end
elseif
bit
.
band
(
loc_op
,
LOCATION_R
ZON
E
)
>
0
then
elseif
bit
.
band
(
loc_op
,
LOCATION_R
_CIRCL
E
)
>
0
then
loc_op
=
loc_op
-
LOCATION_R
ZON
E
loc_op
=
loc_op
-
LOCATION_R
_CIRCL
E
loc_op_f
=
VgF
.
RMonsterFilter
loc_op_f
=
VgF
.
RMonsterFilter
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_MZONE
loc_op
=
loc_op
+
LOCATION_MZONE
...
@@ -1515,9 +1515,9 @@ end
...
@@ -1515,9 +1515,9 @@ end
---检查并转换 loc 以及 con 用于【起】等模板函数
---检查并转换 loc 以及 con 用于【起】等模板函数
function
VgF
.
GetLocCondition
(
loc
,
con
)
function
VgF
.
GetLocCondition
(
loc
,
con
)
local
con_exf
=
VgF
.
True
local
con_exf
=
VgF
.
True
if
loc
==
LOCATION_R
ZON
E
then
if
loc
==
LOCATION_R
_CIRCL
E
then
loc
,
con_exf
=
LOCATION_MZONE
,
VgF
.
RMonsterCondition
loc
,
con_exf
=
LOCATION_MZONE
,
VgF
.
RMonsterCondition
elseif
loc
==
LOCATION_V
ZON
E
then
elseif
loc
==
LOCATION_V
_CIRCL
E
then
loc
,
con_exf
=
LOCATION_MZONE
,
VgF
.
VMonsterCondition
loc
,
con_exf
=
LOCATION_MZONE
,
VgF
.
VMonsterCondition
end
end
loc
=
loc
or
LOCATION_MZONE
loc
=
loc
or
LOCATION_MZONE
...
...
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