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
759fd220
Commit
759fd220
authored
Feb 27, 2025
by
xiaoye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
7b894e5f
Changes
24
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
533 additions
and
477 deletions
+533
-477
c10000113.lua
c10000113.lua
+1
-1
c10202001.lua
c10202001.lua
+1
-1
c10202003.lua
c10202003.lua
+1
-1
c10202005.lua
c10202005.lua
+1
-1
c10203005.lua
c10203005.lua
+1
-1
c10400855.lua
c10400855.lua
+2
-2
c10401022.lua
c10401022.lua
+1
-1
c10401031.lua
c10401031.lua
+1
-1
c10401036.lua
c10401036.lua
+1
-1
c10401042.lua
c10401042.lua
+1
-1
c10401049.lua
c10401049.lua
+1
-1
c10401052.lua
c10401052.lua
+1
-1
c10402017.lua
c10402017.lua
+1
-1
c10402018.lua
c10402018.lua
+1
-1
c10501047.lua
c10501047.lua
+1
-1
c10501048.lua
c10501048.lua
+1
-1
c10501049.lua
c10501049.lua
+1
-1
c10501050.lua
c10501050.lua
+1
-1
c10501051.lua
c10501051.lua
+1
-1
c10501118.lua
c10501118.lua
+1
-1
c10800855.lua
c10800855.lua
+2
-2
vgd.lua
vgd.lua
+477
-429
vgdefinition.lua
vgdefinition.lua
+6
-6
vgfuncLib.lua
vgfuncLib.lua
+27
-19
No files found.
c10000113.lua
View file @
759fd220
...
...
@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10202001.lua
View file @
759fd220
...
...
@@ -12,7 +12,7 @@ function cm.initial_effect(c)
if
not
cm
.
global_check
then
cm
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
ge1
:
SetCode
(
EVENT_MOVE
)
ge1
:
SetCondition
(
cm
.
checkcon
)
ge1
:
SetOperation
(
cm
.
checkop
)
...
...
c10202003.lua
View file @
759fd220
...
...
@@ -21,7 +21,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local
e2
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
effect
.
Reset
(
c
,
e2
,
EVENT_BATTLED
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e1
:
SetCode
(
EVENT_BATTLED
)
e1
:
SetRange
(
LOCATION_CIRCLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
...
...
c10202005.lua
View file @
759fd220
...
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
e2
=
vgf
.
AtkUp
(
c
,
c
,
10000
)
vgf
.
effect
.
Reset
(
c
,
e2
,
EVENT_BATTLED
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e1
:
SetCode
(
EVENT_BATTLED
)
e1
:
SetRange
(
LOCATION_CIRCLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
...
...
c10203005.lua
View file @
759fd220
...
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
if
not
cm
.
global_check
then
cm
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
ge1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
ge1
:
SetCondition
(
cm
.
checkcon
)
ge1
:
SetOperation
(
cm
.
checkop
)
...
...
c10400855.lua
View file @
759fd220
...
...
@@ -3,14 +3,14 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
vgd
.
Rule
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_
SET
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_
CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_MOVE
)
e1
:
SetCondition
(
cm
.
con1
)
e1
:
SetOperation
(
cm
.
op
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e2
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e2
:
SetRange
(
LOCATION_CREST
)
e2
:
SetCountLimit
(
1
)
...
...
c10401022.lua
View file @
759fd220
...
...
@@ -6,7 +6,7 @@ end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetCode
(
EVENT_ADJUST
)
e1
:
SetOperation
(
cm
.
op
)
...
...
c10401031.lua
View file @
759fd220
...
...
@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10401036.lua
View file @
759fd220
...
...
@@ -19,7 +19,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10401042.lua
View file @
759fd220
...
...
@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10401049.lua
View file @
759fd220
...
...
@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10401052.lua
View file @
759fd220
...
...
@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10402017.lua
View file @
759fd220
...
...
@@ -24,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
m
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
m
)
end
end
function
cm
.
con1
(
e
)
...
...
c10402018.lua
View file @
759fd220
...
...
@@ -13,7 +13,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf
.
AtkUp
(
c
,
c
,
15000
)
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e1
:
SetCode
(
EVENT_BATTLED
)
e1
:
SetCountLimit
(
1
)
e1
:
SetOperation
(
cm
.
op2
)
...
...
c10501047.lua
View file @
759fd220
...
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10501048.lua
View file @
759fd220
...
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10501049.lua
View file @
759fd220
...
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10501050.lua
View file @
759fd220
...
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10501051.lua
View file @
759fd220
...
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e1
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_
DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_
SENTINEL
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
...
...
c10501118.lua
View file @
759fd220
...
...
@@ -24,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e4
:
SetCode
(
EFFECT_SEND_REPLACE
)
e4
:
SetTarget
(
cm
.
reptg
)
e4
:
SetValue
(
cm
.
repval
)
...
...
c10800855.lua
View file @
759fd220
...
...
@@ -3,14 +3,14 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
vgd
.
Rule
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_
SET
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_
CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_MOVE
)
e1
:
SetCondition
(
cm
.
con1
)
e1
:
SetOperation
(
cm
.
op1
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e2
:
SetCode
(
EVENT_PHASE_START
+
PHASE_STANDBY
)
e2
:
SetRange
(
LOCATION_CREST
)
e2
:
SetCountLimit
(
1
)
...
...
vgd.lua
View file @
759fd220
This diff is collapsed.
Click to expand it.
vgdefinition.lua
View file @
759fd220
...
...
@@ -277,7 +277,7 @@ EFFECT_TYPE_TRIGGER_O = 0x0080 --诱发选发效果
EFFECT_TYPE_QUICK_O
=
0x0100
--诱发即时效果
EFFECT_TYPE_TRIGGER_F
=
0x0200
--诱发必发效果
EFFECT_TYPE_QUICK_F
=
0x0400
--诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_
SET
=
0x0800
--由事件觸發的輔助用效果/永續效果
EFFECT_TYPE_
CONTINUOUS
=
0x0800
--由事件觸發的輔助用效果/永續效果
EFFECT_TYPE_XMATERIAL
=
0x1000
--作为超量素材时超量怪兽获得的效果(十二兽)
EFFECT_TYPE_GRANT
=
0x2000
--使其他卡片获得效果(天气模样)
EFFECT_TYPE_TARGET
=
0x4000
--影响持续取的对象的效果(基本只用于魔陷)
...
...
@@ -298,7 +298,7 @@ EFFECT_FLAG_BOTH_SIDE = 0x1000 --双方都能使用(部分场地,弹压)
EFFECT_FLAG_COPY_INHERIT
=
0x2000
--若由复制的效果產生則继承其Reset属性
EFFECT_FLAG_DAMAGE_STEP
=
0x4000
--可以在伤害步骤发动
EFFECT_FLAG_DAMAGE_CAL
=
0x8000
--可以在伤害计算时发动
EFFECT_FLAG_DELAY
=
0x10000
--場合型誘發效果、用於永續效果的EFFECT_TYPE_
SET
EFFECT_FLAG_DELAY
=
0x10000
--場合型誘發效果、用於永續效果的EFFECT_TYPE_
CONTINUOUS
EFFECT_FLAG_SINGLE_RANGE
=
0x20000
--只对自己有效
EFFECT_FLAG_UNCOPYABLE
=
0x40000
--不能复制的原始效果(效果外文本)
EFFECT_FLAG_OATH
=
0x80000
--誓约效果
...
...
@@ -636,7 +636,7 @@ EVENT_PREDRAW = 1113 --抽卡阶段通常抽卡前
EVENT_SUMMON_NEGATED
=
1114
--召唤被无效时
EVENT_FLIP_SUMMON_NEGATED
=
1115
--反转召唤被无效时
EVENT_SPSUMMON_NEGATED
=
1116
--特殊召唤被无效时
EVENT_SPSUMMON_SUCCESS_G_P
=
1117
--EFFECT_SPSUMMON_PROC_G特殊召唤成功前(只能使用EFFECT_TYPE_
SET
)
EVENT_SPSUMMON_SUCCESS_G_P
=
1117
--EFFECT_SPSUMMON_PROC_G特殊召唤成功前(只能使用EFFECT_TYPE_
CONTINUOUS
)
EVENT_CONTROL_CHANGED
=
1120
--控制权变更
EVENT_EQUIP
=
1121
--装备卡装备时
EVENT_ATTACK_ANNOUNCE
=
1130
--攻击宣言时
...
...
@@ -645,7 +645,7 @@ EVENT_BATTLE_START = 1132 --伤害步骤开始时(反转前)
EVENT_BATTLE_CONFIRM
=
1133
--伤害计算前(反转後)
EVENT_PRE_DAMAGE_CALCULATE
=
1134
--伤害计算时(羽斬)
EVENT_DAMAGE_CALCULATING
=
1135
--N/A
EVENT_PRE_BATTLE_DAMAGE
=
1136
--即将产生战斗伤害(只能使用EFFECT_TYPE_
SET
)
EVENT_PRE_BATTLE_DAMAGE
=
1136
--即将产生战斗伤害(只能使用EFFECT_TYPE_
CONTINUOUS
)
EVENT_BATTLE_END
=
1137
--N/A
EVENT_BATTLED
=
1138
--伤害计算后(异女、同反转效果时点)
EVENT_BATTLE_DESTROYING
=
1139
--以战斗破坏怪兽送去墓地时(BF- 苍炎之修罗)
...
...
@@ -676,7 +676,7 @@ EVENT_CRITICAL_STRIKE = VgID + 1 --暴击值结算时点
EVENT_DAMAGE_TRIGGER
=
VgID
+
2
--受伤判定完毕时点
EVENT_RIDE_START
=
VgID
+
3
--骑升时点
EVENT_SUPPORT
=
VgID
+
4
--支援时点
EVENT_TRIGGER
COUNT
UP
=
VgID
+
5
--驱动追加
EVENT_TRIGGER
_COUNT_
UP
=
VgID
+
5
--驱动追加
EVENT_SING
=
VgID
+
6
--演唱时
EVENT_OVERLAY_FILL
=
VgID
+
7
--灵魂填充时
...
...
@@ -857,7 +857,7 @@ FLAG_ID_NO_NORMAL_DRAW = 3
FLAG_COUNT_TRIGGER
=
VgID
--计数标识
FLAG_ATTACK_TRIGGER
=
VgID
+
1
--多次攻击判定标识
FLAG_DAMAGE_TRIGGER
=
VgID
+
2
--多次伤害判定标识
FLAG_
DEFENSE_ENTIRELY
=
VgID
+
3
--完全防御标识
FLAG_
SENTINEL
=
VgID
+
3
--完全防御标识
FLAG_CONDITION
=
VgID
+
4
--处于XX状态标识
FLAG_SUPPORT
=
VgID
+
5
--支援状态标识
FLAG_SUPPORTED
=
VgID
+
6
--被支援
...
...
vgfuncLib.lua
View file @
759fd220
...
...
@@ -126,6 +126,15 @@ function table.copy(copy, original)
end
end
function
table
.
indexOf
(
table
,
element
)
for
i
,
value
in
ipairs
(
table
)
do
if
value
==
element
then
return
i
end
end
return
-
1
end
function
bit
.
ReturnCount
(
n
)
if
n
==
0
then
return
0
...
...
@@ -176,7 +185,7 @@ function bit.bnot(a)
end
---返回函数,该函数与f的结果总是相反的。
---@param f function
<boolean>
要操作的bool函数
---@param f function 要操作的bool函数
---@return function 经过操作的函数
function
VgF
.
Not
(
f
)
return
function
(
...
)
...
...
@@ -433,7 +442,7 @@ VgF.Effect.Damage = nil
function
VgF
.
Effect
.
Reset
(
c
,
e
,
code
,
con
)
if
VgF
.
GetValueType
(
e
)
==
"Effect"
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e1
:
SetCode
(
code
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetRange
(
LOCATION_ALL
)
...
...
@@ -444,7 +453,7 @@ function VgF.Effect.Reset(c, e, code, con)
elseif
VgF
.
GetValueType
(
e
)
==
"table"
then
for
i
,
v
in
ipairs
(
e
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
SET
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_
CONTINUOUS
)
e1
:
SetCode
(
code
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetRange
(
LOCATION_ALL
)
...
...
@@ -506,10 +515,9 @@ function VgF.Condition.FirstCard(e)
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_ALL
,
0
,
nil
)
return
e
:
GetHandler
()
==
g
:
GetFirst
()
end
function
VgF
.
Condition
.
FirstTurn
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
Duel
.
GetTurnCount
(
tp
)
local
b
=
Duel
.
GetTurnCount
(
1
-
tp
)
function
VgF
.
Condition
.
FirstTurn
()
local
a
=
Duel
.
GetTurnCount
(
0
)
local
b
=
Duel
.
GetTurnCount
(
1
)
return
a
+
b
==
1
end
...
...
@@ -579,10 +587,10 @@ end
function
VgF
.
Cost
.
Discard
(
val
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
val
)
~=
"number"
then
return
0
end
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
VgF
.
AddAlchemagic
(
m
,
"LOCATION_HAND"
,
"LOCATION_DROP"
,
val
,
val
)
end
return
VgF
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_HAND
,
0
,
val
,
nil
)
...
...
@@ -598,11 +606,11 @@ end
function
VgF
.
Cost
.
EnergyBlast
(
val
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
val
)
~=
"number"
then
return
0
end
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
VgF
.
AddAlchemagic
(
m
,
"LOCATION_CREST"
,
"0"
,
val
,
val
,
function
(
tc
)
tc
:
IsCode
(
CARD_ENERGY
)
end
)
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
VgF
.
AddAlchemagic
(
m
,
"LOCATION_CREST"
,
"0"
,
val
,
val
,
function
(
tc
)
return
tc
:
IsCode
(
CARD_ENERGY
)
end
)
end
return
VgF
.
IsExistingMatchingCard
(
Card
.
IsCode
,
tp
,
LOCATION_CREST
,
0
,
val
,
nil
,
CARD_ENERGY
)
end
...
...
@@ -617,10 +625,10 @@ end
function
VgF
.
Cost
.
SoulBlast
(
val
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
val
)
~=
"number"
then
return
0
end
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
VgF
.
AddAlchemagic
(
m
,
"LOCATION_SOUL"
,
"LOCATION_DROP"
,
val
,
val
)
end
return
Duel
.
GetMatchingGroup
(
VgF
.
Filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
val
...
...
@@ -637,10 +645,10 @@ end
function
VgF
.
Cost
.
CounterBlast
(
val
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
val
)
~=
"number"
then
return
0
end
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
VgF
.
AddAlchemagic
(
m
,
"LOCATION_DAMAGE"
,
"POSCHANGE"
,
val
,
val
,
Card
.
IsFaceup
)
end
return
VgF
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
val
,
nil
)
...
...
@@ -756,10 +764,10 @@ end
function
VgF
.
Operation
.
SoulCharge
(
val
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
val
)
~=
"number"
then
return
0
end
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
VgF
.
AddAlchemagic
(
m
,
"LOCATION_DECK"
,
"LOCATION_SOUL"
,
val
,
val
)
end
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
>=
val
...
...
@@ -1501,7 +1509,7 @@ end
---@param to table|string|number 费用的卡送去哪个区域
---@param min table|number|nil 费用的卡的最少数量
---@param max table|number|nil 费用的卡的最多数量
---@param filter table
<function<boolean>>|function<boolean>
|nil 费用的卡的过滤函数
---@param filter table
|function
|nil 费用的卡的过滤函数
function
VgF
.
AddAlchemagic
(
m
,
from
,
to
,
min
,
max
,
filter
)
local
cm
=
_G
[
"c"
..
m
]
if
#
from
~=
#
to
then
return
end
...
...
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