forked from edo9300/edopro
-
Notifications
You must be signed in to change notification settings - Fork 1
/
_functions.txt
2915 lines (2196 loc) · 109 KB
/
_functions.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
========== aux ============
##只说明常用的函数
●int aux.Stringid(int code, int id)
用于索引卡号为code的卡片第id个(从0开始)效果提示
●void aux.SwapEntity(Card/Group g1, Card/Group g2)
把g1,g2的卡图,卡名,信息全部交換。
●void aux.CopyCardTable(Card/int c, Card tc[, string list, int ...])
把卡/卡号c的listed_name,listed_series,xyz_number等卡片記載複制給tc。
另外再把list(eg."listed_name")的...多個數字也加給tc。
========== card ==========
●void Card.SetEntityCode()
bool Card.SetEntityCode(Card c, int code[, int alias, int{} setcode, int type, int level, int attribute, int race, int attack, int defense, int lscale, int rscale, int link_marker, bool replace_effect=false, int realcode])
把c的卡图,卡名,信息全部改成卡号为code的卡的信息。常用于卡片变身类效果。返回是否成功。
把变身后c的信息改成alias,setcode,...。
replace_effect=true 改变效果
realcode 用於罪龙、傳龙萬能變身,GetCode,GetOriginalCode皆不能返回卡号,只能以GetRealCode返回真正的卡号。
●void Card.SetCardData()
把c的type的信息在本次决斗中永久性更改为value,如同更改卡片数据库一般。
type可以是以下之一:
CARDDATA_ALIAS 2
CARDDATA_SETCODE 3
CARDDATA_TYPE 4
CARDDATA_LEVEL 5
CARDDATA_ATTRIBUTE 6
CARDDATA_RACE 7
CARDDATA_ATTACK 8
CARDDATA_DEFENSE 9
CARDDATA_LSCALE 10
CARDDATA_RSCALE 11
CARDDATA_LINK_MARKER 12
●void Card.GetOriginalLinkMarker()
返回c的原本连接标记。
●void Card.GetRealCode()
●void Card.GetOriginalAlias()
返回c的原本alias
没有则返回卡片记载的代号
●void Card.GetCode()
int[,int] Card.GetCode(Card c)
返回c的当前代号(可能因为效果改变)
●void Card.GetOriginalCode()
int Card.GetOriginalCode(Card c)
返回c的卡片记载的代号
●void Card.GetOriginalCodeRule()
int[,int] Card.GetOriginalCodeRule(Card c)
返回c规则上的代号(这张卡规则上当作...使用)
●void Card.GetSetCard()
●void Card.GetOriginalSetCard()
●void Card.GetPreviousSetCard()
●void Card.GetType()
int Card.GetType(Card c)
返回c的当前类型
●void Card.GetOriginalType()
int Card.GetOriginalType(Card c)
返回c的卡片记载的类型
●void Card.GetLevel()
int Card.GetLevel(Card c)
返回c的当前等级
●void Card.GetRank()
int Card.GetRank(Card c)
返回c的当前阶级
●void Card.GetLink()
int Card.GetLink(Card c)
返回c的连接标记数量
●void Card.GetSynchroLevel()
int Card.GetSynchroLevel(Card c, Card sc)
返回c的对于同调怪兽sc的同调用等级
此函数除了某些特定卡如调节支援士,返回值与Card.GetLevel(c)相同
●void Card.GetRitualLevel()
int Card.GetRitualLevel(Card c, Card rc)
返回c的对于仪式怪兽rc仪式解放等级
此函数除了某些特定卡如仪式供物,返回值与Card.GetLevel(c)相同
●void Card.GetOriginalLevel()
int Card.GetOriginalLevel(Card c)
返回c的卡片记载的等级
●void Card.GetOriginalRank()
int Card.GetOriginalRank(Card c)
返回c的卡片记载的阶级
●void Card.IsXyzLevel()
bool Card.IsXyzLevel(Card c, Card xyzc, int lv)
检查c对于超量怪兽xyzc的超量用等级是否是lv
●void Card.GetLeftScale()
int Card.GetLeftScale(Card c)
返回c的左灵摆刻度
●void Card.GetOriginalLeftScale()
int Card.GetOriginalLeftScale(Card c)
返回c的原本的左灵摆刻度
●void Card.GetRightScale()
int Card.GetRightScale(Card c)
返回c的右灵摆刻度
●void Card.GetOriginalRightScale()
int Card.GetOriginalRightScale(Card c)
返回c的原本的右灵摆刻度
●void Card.GetLinkMarker()
●void Card.IsLinkMarker()
bool Card.IsLinkMarker(Card c, int dir)
检查c是否是连接标记为 dir 的卡
dir的值有:
LINK_MARKER_BOTTOM_LEFT =0x001 -- ↙
LINK_MARKER_BOTTOM =0x002 -- ↓
LINK_MARKER_BOTTOM_RIGHT =0x004 -- ↘
LINK_MARKER_LEFT =0x008 -- ←
LINK_MARKER_RIGHT =0x020 -- →
LINK_MARKER_TOP_LEFT =0x040 -- ↖
LINK_MARKER_TOP =0x080 -- ↑
LINK_MARKER_TOP_RIGHT =0x100 -- ↗
●void Card.GetLinkedGroup()
Group Card.GetLinkedGroup(Card c)
返回c的连接区的卡片组(目前只限怪兽区)
●void Card.GetLinkedGroupCount()
int Card.GetLinkedGroupCount(Card c)
返回c的连接区的卡片组的卡的数量(目前只限怪兽区)
●void Card.GetLinkedZone()
int Card.GetLinkedZone(Card c[, int player=c:GetControler()])
返回c的[以 player 来看的场上的]连接区域
●void Card.GetFreeLinkedZone()
●void Card.GetMutualLinkedGroup()
Group Card.GetMutualLinkedGroup(Card c)
返回和c互相连接状态的卡片组
●void Card.GetMutualLinkedGroupCount()
int Card.GetMutualLinkedGroupCount(Card c)
返回和c互相连接状态的卡片组的数量
●void Card.GetMutualLinkedZone()
int Card.GetMutualLinkedZone(Card c[, int player=c:GetControler()])
返回[以 player 来看的]与卡片 c 互相连接的卡 所在的区域
●void Card.IsLinked()
●void Card.IsExtraLinked()
●void Card.GetColumnGroup()
Group Card.GetColumnGroup(Card c)
返回与c同一纵列的c以外的卡片组
●void Card.GetColumnGroupCount()
int Card.GetColumnGroupCount(Card c)
用法同 Card.GetColumnGroup ,只是返回的是卡片的数量
●void Card.GetColumnZone()
int Card.GetColumnZone(Card c, int location[, int player=c:GetControler()])
返回[以 player 来看的] location 范围内与 c 同一纵列的区域(c所在的位置排除),
location 的值是 LOCATION_MZONE,LOCATION_SZONE,LOCATIOIN_ONFIELD
返回值是1个32位的2进制数
高16位是以 player 来看的对方的区域,其中前8位是魔法陷阱区域,后8位是怪兽区
低16位是以 player 来看的自己的区域,其中前8位是魔法陷阱区域,后8位是怪兽区
比如 卡片 c 处于自己主要怪兽区左数第2个格子,那么 c:GetColumnZone(LOCATIOIN_ONFIELD) 的结果为
0000 1000 0100 1000 --对方的区域
0000 0010 0010 0000 --自己的区域
●void Card.IsAllColumn()
bool Card.IsAllColumn(Card c)
检查与c同一纵列的区域是否全都有卡
●void Card.GetAttribute()
int Card.GetAttribute(Card c)
返回c的当前属性
注:对某些多属性怪兽如光与暗之龙,此函数的返回值可能是几个属性的组合值
●void Card.GetOriginalAttribute()
int Card.GetOriginalAttribute(Card c)
返回c的卡片记载的属性
●void Card.GetRace()
int Card.GetRace(Card c)
返回c的当前种族
注:对某些多种族怪兽如动画效果的魔术猿,此函数的返回值可能是几个种族的组合值
●void Card.GetOriginalRace()
int Card.GetOriginalRace(Card c)
返回c的卡片记载的种族
●void Card.GetAttack()
int Card.GetAttack(Card c)
返回c的当前攻击力
●void Card.GetBaseAttack()
int Card.GetBaseAttack(Card c)
返回c的原本攻击力
●void Card.GetTextAttack()
int Card.GetTextAttack(Card c)
返回c的卡片记载的攻击力,返回值是负数表示是"?"
●void Card.GetBaseDefense()
int Card.GetBaseDefense(Card c)
返回c的原本守备力
●void Card.GetTextDefense()
int Card.GetTextDefense(Card c)
返回c的卡片记载的守备力,返回值是负数表示是"?"
●void Card.GetPreviousCodeOnField()
int[,int] Card.GetPreviousCodeOnField(Card c)
返回c位置变化之前在场上的卡号
●void Card.GetPreviousTypeOnField()
int Card.GetPreviousTypeOnField(Card c)
返回c位置变化之前在场上的类型
●void Card.GetPreviousLevelOnField()
int Card.GetPreviousLevelOnField(Card c)
返回c位置变化之前在场上的等级
●void Card.GetPreviousRankOnField()
int Card.GetPreviousRankOnField(Card c)
返回c位置变化之前在场上的阶级
●void Card.GetPreviousAttributeOnField()
int Card.GetPreviousAttributeOnField(Card c)
返回c位置变化之前在场上的属性
●void Card.GetPreviousRaceOnField()
int Card.GetPreviousRaceOnField(Card c)
返回c位置变化之前在场上的种族
●void Card.GetPreviousAttackOnField()
int Card.GetPreviousAttackOnField(Card c)
返回c位置变化之前在场上的攻击力
●void Card.GetPreviousDefenseOnField()
int Card.GetPreviousDefenseOnField(Card c)
返回c位置变化之前在场上的守备力
●void Card.GetOwner()
int Card.GetOwner(Card c)
返回c的持有者
●void Card.GetControler()
int Card.GetControler(Card c)
返回c的当前控制者
●void Card.GetPreviousControler()
int Card.GetPreviousControler(Card c)
返回c的位置变化之前的控制者
●void Card.GetReason()
int Card.GetReason(Card c)
返回c的位置变化原因
●void Card.GetReasonCard()
Card Card.GetReasonCard(Card c)
返回导致c的位置变化的卡
此函数仅在某卡被战斗破坏时,因为上级召唤被解放,或者成为特殊召唤使用的素材时有效
●void Card.GetReasonPlayer()
int Card.GetReasonPlayer(Card c)
返回导致c的位置变化的玩家
●void Card.GetReasonEffect()
Effect Card.GetReasonEffect(Card c)
返回导致c的位置变化的效果
●void Card.SetReason()
●void Card.SetReasonCard()
●void Card.SetReasonPlayer()
●void Card.SetReasonEffect()
●void Card.GetPosition()
int Card.GetPosition(Card c)
返回c当前的表示形式
●void Card.GetPreviousPosition()
int Card.GetPreviousPosition(Card c)
返回c位置变化前的表示形式
●void Card.GetBattlePosition()
int Card.GetBattlePosition(Card c)
返回c在本次战斗发生之前的表示形式
●void Card.GetLocation()
int Card.GetLocation(Card c)
返回c当前的所在位置
●void Card.GetPreviousLocation()
int Card.GetPreviousLocation(Card c)
返回c位置变化前的所在的位置
●void Card.GetSequence()
int Card.GetSequence(Card c)
返回c在当前位置的序号
在场上时,序号代表所在的格子,从左往右分别是0-4,5-6,场地魔法格的序号为5,左右灵摆区域为6-7
在其它地方时,序号表示的是第几张卡,最下面的卡的序号为0
●void Card.GetPreviousSequence()
int Card.GetPreviousSequence(Card c)
返回c位置变化前的序号
●void Card.GetSummonType()
int Card.GetSummonType(Card c)
返回c的召唤/特殊召唤的方式
●void Card.GetSummonLocation()
int Card.GetSummonLocation(Card c)
返回c的召唤/特殊召唤的位置
●void Card.GetSummonPlayer()
int Card.GetSummonPlayer(Card c)
返回召唤/特殊召唤 c 上场的玩家
●void Card.GetDestination()
int Card.GetDestination(Card c)
返回c位置变化的目的地
此函数仅在处理位置转移代替效果时有效
●void Card.GetLeaveFieldDest()
int Card.GetLeaveFieldDest(Card c)
返回c离场时因改变去向的效果(如大宇宙)的目的地
●void Card.GetTurnID()
int Card.GetTurnID(Card c)
返回c转移到当前位置的回合
●void Card.GetFieldID()
int Card.GetFieldID(Card c)
返回c转移到当前位置的时间标识
此数值唯一,越小表示c是越早出现在那个位置
卡片从里侧翻开也会改变此数值
●void Card.GetRealFieldID()
int Card.GetRealFieldID(Card c)
返回c转移到当前位置的真实的时间标识
卡片从里侧翻开不会改变此数值
●void Card.GetCardID()
●void Card.IsOriginalCodeRule()
bool Card.IsOriginalCodeRule(Card c, int code1[, int code2,...])
检查c的卡号是否规则上(就是CDB里显示的卡密)是 code1[, 或者为 code2...]
●void Card.IsCode()
bool Card.IsCode(Card c, int code1[, int code2,...])
检查c的卡号是否是 code1[, 或者为 code2...]
●void Card.IsSummonCode()
●void Card.IsSetCard()
bool Card.IsSetCard(Card c, int setname)
检查c是否是卡名含有setname的卡
●void Card.IsOriginalSetCard()
bool Card.IsOriginalSetCard(Card c, int setname)
检查c是否是原本卡名含有setname的卡
●void Card.IsPreviousSetCard()
bool Card.IsPreviousSetCard(Card c, int setname)
检查c位置变化之前是否是名字含有setname的卡
●void Card.IsType()
bool Card.IsType(Card c, int type)
检查c是否属于类型type
●void Card.IsOType()
●void Card.IsLevel()
bool Card.IsLevel(Card c, int level1[, int level2,...])
检查c是否是等级 level1[, 或者为 level2...]
●void Card.IsRank()
bool Card.IsRank(Card c, int rank1[, int rank2,...])
检查c是否是阶级 rank1[, 或者为 rank2...]
●void Card.IsLink()
bool Card.IsLink(Card c, int link1[, int link2,...])
检查c的连接标记数量是否是 link1[, 或者为 link2...]
●void Card.IsAttack()
bool Card.IsAttack(Card c, int atk1[, int atk2,...])
检查c的攻击力是否是 atk1[, 或者为 atk2...],如果c不是怪兽卡,或者不在 LOCATION_MZONE 则都返回false
●void Card.IsDefense()
bool Card.IsDefense(Card c, int def[, int atk2,...])
检查c的守备力是否是 def1[, 或者为 def2...],如果c不是怪兽卡,或者不在 LOCATION_MZONE 则都返回false
●void Card.IsRace()
bool Card.IsRace(Card c, int race)
检查c是否属于种族race
●void Card.IsAttribute()
bool Card.IsAttribute(Card c, int attribute)
检查c是否属于属性attribute
●void Card.IsReason()
bool Card.IsReason(Card c, int reason)
检查c是否包含原因reason
●void Card.IsSummonType()
bool Card.IsSummonType(Card c, int sumtype)
检查c的召唤类型是否是sumtype
●void Card.IsStatus()
bool Card.IsStatus(Card c, int status)
检查c是否包含某个状态码
●void Card.IsNotTuner()
bool Card.IsNotTuner(Card c)
检查c是否可以当成非调整来使用
●void Card.SetStatus()
void Card.SetStatus(Card c, int state, bool enable)
给c设置或者取消状态码
除非妳清楚的了解每个状态码的含意,否则不要轻易使用此函数
●void Card.IsGeminiState()
●void Card.EnableGeminiState()
●void Card.GetTurnCounter()
int Card.GetTurnCounter(Card c)
返回c的回合计数器
●void Card.SetMaterial()
void Card.SetMaterial(Card c, nil|Group g)
把g中的所有卡作为c的素材(上级召唤,特殊召唤)
第二个参数如果传入 nil ,是把卡片c 的素材清除
●void Card.GetMaterial()
Group Card.GetMaterial(Card c)
返回c出场使用的素材
●void Card.GetMaterialCount()
int Card.GetMaterialCount(Card c)
返回c出场使用的素材数量
●void Card.GetEquipGroup()
Group Card.GetEquipGroup(Card c)
返回c当前装备着的卡片组
●void Card.GetEquipCount()
int Card.GetEquipCount(Card c)
返回c当前装备着的卡片数量
●void Card.GetEquipTarget()
Card Card.GetEquipTarget(Card c)
返回c当前的装备对象
●void Card.GetPreviousEquipTarget()
Card Card.GetPreviousEquipTarget(Card c)
返回c之前的装备对象
●void Card.CheckEquipTarget()
bool Card.CheckEquipTarget(Card c1, Card c2)
检查c2是否是c1的正确的装备对象
●void Card.CheckUnionTarget()
bool Card.CheckUnionTarget(Card c1, Card c2)
检查c2是否是c1的正确的同盟对象
●void Card.GetUnionCount()
int,int Card.GetUnionCount(Card c)
返回c当前装备的同盟卡数量
第二个返回值是 旧同盟 的数量
●void Card.GetOverlayGroup()
Group Card.GetOverlayGroup(Card c)
返回c当前叠放着的卡片组
●void Card.GetOverlayCount()
int Card.GetOverlayCount(Card c)
返回c当前叠放着的卡片数量
●void Card.GetOverlayTarget()
Card Card.GetOverlayTarget(Card c)
返回以c为超量素材的卡
●void Card.CheckRemoveOverlayCard()
bool Card.CheckRemoveOverlayCard(Card c, int player, int count, int reason)
检查玩家player能否以reason为原因,至少移除c叠放的count张卡
●void Card.RemoveOverlayCard()
int Card.RemoveOverlayCard(Card c, int player, int min, int max, int reason)
以reason为原因,让玩家player移除c叠放的min-max张卡,返回值表示是否成功
●void Card.GetAttackedGroup()
Group Card.GetAttackedGroup(Card c)
返回c本回合攻击过的卡片组
●void Card.GetAttackedGroupCount()
int Card.GetAttackedGroupCount(Card c)
返回c本回合攻击过的卡片数量
●void Card.GetAttackedCount()
int Card.GetAttackedCount(Card c)
返回c本回合攻击过的次数
注:如果此值与 Card.GetAttackedGroupCount(c) 的返回值不同,那么说明卡片c本回合进行过直接攻击
●void Card.GetBattledGroup()
Group Card.GetBattledGroup(Card c)
返回与c本回合进行过战斗的卡片组
进行过战斗指发生过伤害的计算,用于剑斗兽等卡的判定
●void Card.GetBattledGroupCount()
int Card.GetBattledGroupCount(Card c)
返回与c本回合进行过战斗的的卡片数量
●void Card.GetAttackAnnouncedCount()
int Card.GetAttackAnnouncedCount(Card c)
返回c本回合攻击宣言的次数
注:攻击被无效不会被计入攻击过的次数,但是会计入攻击宣言的次数
●void Card.IsDirectAttacked()
bool Card.IsDirectAttacked(Card c)
检查c是否直接攻击过
●void Card.SetCardTarget()
void Card.SetCardTarget(Card c1, Card c2)
把c2作为c1的永续对象
c1和c2的联系会在c1或c2任意一卡离场或变成里侧表示时reset
●void Card.GetCardTarget()
Group Card.GetCardTarget(Card c)
返回c当前所有的永续对象
●void Card.GetFirstCardTarget()
Card Card.GetFirstCardTarget(Card c)
返回c当前第一个永续对象,没有则返回 nil
●void Card.GetCardTargetCount()
int Card.GetCardTargetCount(Card c)
返回c当前的永续对象的数量
●void Card.IsHasCardTarget()
bool Card.IsHasCardTarget(Card c1, Card c2)
检查c2是否取c1为永续对象
●void Card.CancelCardTarget()
void Card.CancelCardTarget(Card c1, Card c2)
取消c2为c1的永续对象
●void Card.GetOwnerTarget()
Group Card.GetOwnerTarget(Card c)
返回取c作为永续对象的所有卡
●void Card.GetOwnerTargetCount()
int Card.GetOwnerTargetCount(Card c)
返回取c作为永续对象的卡的数量
●void Card.GetActivateEffect()
Effect,... Card.GetActivateEffect(Card c)
返回c的“卡片发动”的效果,即类型为EFFECT_TYPE_ACTIVATE的效果
仅对魔法和陷阱有效。对于多个卡片发动的效果的卡(比如 神之宣告),会全部返回
●void Card.GetTriggerEffect()
●void Card.GetFieldEffect()
●void Card.CheckActivateEffect()
Effect[,Group,int,int,Effect,int,int] Card.CheckActivateEffect(Card c, bool neglect_con, bool neglect_cost, bool copy_info)
返回c的可以发动时机正确的“卡的发动”的效果,neglect_con=true则无视发动条件,neglect_cost=true则无视发动cost
copy_info=false或者自由时点的效果则只返回这个效果 e
否则还返回这个效果的触发时点的信息 e,eg,ep,ev,re,r,rp
●void Card.RegisterEffect()
int Card.RegisterEffect(Card c, Effect e[, bool forced=false])
把效果e注册给c,返回效果的全局id,并设置e的Handler为c
默认情况下注册时如果c带有免疫e的效果那么注册会失败
如果forced为true则不会检查c对e的免疫效果
●void Card.IsHasEffect()
... Card.IsHasEffect(Card c, int code[, int check_player])
检查c是否受到效果种类是code的效果的影响
没有则返回nil
有则返回那些效果
●void Card.GetCardEffect()
●void Card.ResetEffect()
void Card.ResetEffect(Card c, int reset_code, int reset_type)
以重置类型为reset_type、重置种类为reset_code手动重置c受到的效果的影响
reset_type只能是以下类型,对应的重置种类为
RESET_EVENT 发生事件重置 reset_code为事件
RESET_PHASE 阶段结束重置 reset_code为阶段
RESET_CODE 重置指定code的效果 reset_code为效果的种类code,只能重置EFFECT_TYPE_SINGLE的永续型效果
RESET_COPY 重置复制的效果 reset_code为copy_id
RESET_CARD 重置卡片的效果 reset_code为效果owner的卡号
●void Card.GetEffectCount()
int Card.GetEffectCount(Card c, int code)
返回c受到影响的种类是code的效果的数量
●void Card.RegisterFlagEffect()
Effect Card.RegisterFlagEffect(Card c, int code, int reset_flag, int property, int reset_count[, int label, int desc])
为c注册一个标识用效果
注:注册给卡的标识用效果不会用于系统,
即使code与内置效果code重合也不会影响,
并且类型总是EFFECT_TYPE_SINGLE,reset方法,property和一般的效果相同,
并且不会无效化,不受卡的免疫效果影响
●void Card.GetFlagEffect()
int Card.GetFlagEffect(Card c, int code)
返回c的种类是code的标识效果的数量
●void Card.ResetFlagEffect()
void Card.ResetFlagEffect(Card c, int code)
手动清除c的种类是code的标识效果
●void Card.SetFlagEffectLabel()
bool Card.SetFlagEffectLabel(Card c, int code, int label)
返回c是否存在种类为code的标识效果,若存在则设置其Label属性为label
●void Card.GetFlagEffectLabel()
int[,...] Card.GetFlagEffectLabel(Card c, int code)
返回c的种类为code的标识效果的Label(数量可能不止一个),没有此效果则返回nil
●void Card.CreateRelation()
void Card.CreateRelation(Card c1, Card c2, int reset_flag)
为c1建立与c2的联系,此联系仅会由于c1发生RESET_EVENT的事件reset
●void Card.ReleaseRelation()
void Card.ReleaseRelation(Card c1, Card c2)
手动释放c1对于c2的联系
●void Card.CreateEffectRelation()
void Card.CreateEffectRelation(Card c, Effect e)
为卡片c和效果e建立联系
●void Card.ReleaseEffectRelation()
void Card.ReleaseEffectRelation(Card c, Effect e)
手动释放c与效果e的联系
●void Card.ClearEffectRelation()
void Card.ClearEffectRelation(Card c)
清空c所有联系的效果
●void Card.IsRelateToEffect()
bool Card.IsRelateToEffect(Card c, Effect e)
检查c是否和效果e有联系
注:每次发动进入连锁的效果时,发动效果的卡,以及发动效果时指定的对象
(用Duel.SetTargetCard或者Duel.SelectTarget指定的,包括取对象和不取对象)
会自动与那个效果建立联系,一旦离场,联系会重置
●void Card.IsRelateToChain()
bool Card.IsRelateToChain(Card c, int chainc)
检查c是否和连锁chainc有联系
注:每次发动进入连锁的效果时,发动效果的卡,以及发动效果时指定的对象
(用Duel.SetTargetCard或者Duel.SelectTarget指定的,包括取对象和不取对象)
会自动与那个效果建立联系,一旦离场,联系会重置
●void Card.IsRelateToCard()
bool Card.IsRelateToCard(Card c1, Card c2)
检查c1是否和c2有联系
●void Card.IsRelateToBattle()
bool Card.IsRelateToBattle(Card c)
检查c是否和本次战斗关联
注:此效果通常用于伤害计算后伤害阶段结束前,用于检查战斗的卡是否离场过
●void Card.CopyEffect()
int Card.CopyEffect(Card c, int code, int reset_flag[, int reset_count=1])
为c添加卡号是code的卡的可复制的效果,并且添加额外的reset条件
返回值是表示复制效果的代号id
●void Card.ReplaceEffect()
int Card.ReplaceEffect(Card c, int code, int reset_flag[, int reset_count=1])
把c的效果替换为卡号是code的卡的效果,并且添加额外的reset条件
返回值是表示替换效果的代号id
●void Card.EnableUnsummonable()
●void Card.EnableReviveLimit()
void Card.EnableReviveLimit(Card c)
为c添加苏生限制
●void Card.CompleteProcedure()
void Card.CompleteProcedure(Card c)
使c完成正规的召唤手续
●void Card.IsDisabled()
bool Card.IsDisabled(Card c)
检查c是否处于无效状态
●void Card.IsDestructable()
bool Card.IsDestructable(Card c[, Effect e])
检查c是否是可被[效果 e]破坏的(处在可被破坏的位置)
●void Card.IsSummonableCard()
bool Card.IsSummonableCard(Card c)
检查c是否是可通常召唤的卡
●void Card.IsFusionSummonableCard()
bool Card.IsFusionSummonableCard(Card c[, int sum_type])
检查c是否是可[用 sum_type 方式]融合召唤的卡
●void Card.IsSpecialSummonable()
bool Card.IsSpecialSummonable(Card c[, int sum_type])
检查是否可以对c[用 sum_type 方式]进行特殊召唤手续
●void Card.IsSynchroSummonable()
bool Card.IsSynchroSummonable(Card c ,Card tuner|nil[, Group mg, int minc=0, int maxc=0])
检查是否可以以tuner作为调整,用场上[或mg][minc ~ maxc 张卡]为同调素材对c进行同调召唤手续
c 如果不是同调会返回 false
●void Card.IsXyzSummonable()
bool Card.IsXyzSummonable(Card c, Group mg|nil[, minc=0, maxc=0])
检查是否可以在场上的卡[或mg][中选出 minc-maxc 个超量素材]对c进行超量召唤手续
c 如果不是超量会返回 false
●void Card.IsLinkSummonable()
bool Card.IsLinkSummonable(Card c, Group mg|nil[, Card lcard, minc=0, maxc=0])
检查是否可以用[包含卡 lcard 的]场上[或mg]的卡[中选出 minc-maxc 个连接素材]对c进行连接召唤手续
c 如果不是连接会返回 false
●void Card.IsProcedureSummonable()
●void Card.IsSummonable()
bool Card.IsSummonable(Card c, bool ignore_count, Effect e|nil[, int minc=0, int zone=0x1f])
检查c是否可以进行通常召唤(不包含通常召唤的set),ignore_count=true则不检查召唤次数限制
e~=nil则检查c是否可以以效果e进行通常召唤,minc 表示至少需要的祭品数(用于区分妥协召唤与上级召唤),zone 表示必须要召唤到的区域
●void Card.IsMSetable()
bool Card.IsMSetable(Card, bool ignore_count, Effect e|nil[, int minc=0, int zone=0x1f])
检查c是否可进行通常召唤的set,ignore_count=true则不检查召唤次数限制
e~=nil则检查c是否可以以效果e进行通常召唤的set,minc 表示至少需要的祭品数(用于区分妥协召唤set与上级召唤set),zone 表示必须要放置到的区域
●void Card.IsSSetable()
bool Card.IsSSetable(Card c[, bool ignore_field=false])
检查c是否可以set到魔法陷阱区,ignore_field=true则无视魔陷区格子是否能使用的限制
●void Card.IsCanBeSpecialSummoned()
bool Card.IsCanBeSpecialSummoned(Card c, Effect e, int sumtype, int sumplayer, bool nocheck, bool nolimit[, int sumpos=POS_FACEUP, int toplayer=sumplayer, int zone=0xff])
检查c是否可以被玩家sumplayer用效果e[以sumtype方式和sumpos表示形式]特殊召唤[到玩家 toplayer 的区域zone]
如果nocheck是true则不检查c的召唤条件,如果nolimit是true则不检查c的苏生限制
●void Card.IsAbleToHand()
bool Card.IsAbleToHand(Card c)
检查c是否可以送去手牌
注:仅当卡片或者玩家受到“不能加入手牌”的效果的影响时(如雷王)此函数才返回false
●void Card.IsAbleToDeck()
bool Card.IsAbleToDeck(Card c)
检查c是否可以送去卡组
●void Card.IsAbleToExtra()
bool Card.IsAbleToExtra(Card c)
检查c是否可以送去额外卡组
对于非融合、同调等额外怪兽或者非灵摆怪兽此函数均返回false
●void Card.IsAbleToGrave()
bool Card.IsAbleToGrave(Card c)
检查c是否可以送去墓地
●void Card.IsAbleToRemove()
bool Card.IsAbleToRemove(Card c[, int player, int pos=POS_FACEUP, int reason=REASON_EFFECT])
检查c是否可以被[玩家 player 以 pos 的表示形式,reason 原因]除外
●void Card.IsAbleToHandAsCost()
bool Card.IsAbleToHandAsCost(Card c)
检查c是否可以作为cost送去手牌
注:此函数会在Card.IsAbleToHand的基础上追加检测c的实际目的地
当c送往手牌会被送去其它地方时(如缩退回路适用中,或者c是融合、同调 等额外怪兽的一种),此函数返回false
●void Card.IsAbleToDeckAsCost()
bool Card.IsAbleToDeckAsCost(Card c)
检查c是否可以作为cost送去卡组
●void Card.IsAbleToExtraAsCost()
bool Card.IsAbleToExtraAsCost(Card c)
检查c是否可以作为cost送去额外卡组,主卡组的灵摆卡会返回false
●void Card.IsAbleToDeckOrExtraAsCost()
bool Card.IsAbleToDeckOrExtraAsCost(Card c)
检查c是否可以作为cost送去卡组或额外卡组(用于新宇侠、剑斗兽融合怪兽的召唤手续检测)等价于 (c:IsAbleToDeckAsCost() or c:IsAbleToExtraAsCost())
●void Card.IsAbleToGraveAsCost()
bool Card.IsAbleToGraveAsCost(Card c)
检查c是否可以作为cost送去墓地
●void Card.IsAbleToRemoveAsCost()
bool Card.IsAbleToRemoveAsCost(Card c[, int pos=POS_FACEUP])
检查c是否可以[以 pos 表示形式]作为cost除外
●void Card.IsReleasable()
bool Card.IsReleasable(Card c)
检查c是否可以被解放(非上级召唤用)
如果 c 满足以下条件,都会返回 false
召唤(广义的)之际、 在墓地或者除外、 在手卡并且是魔法·陷阱、 玩家受到不能把卡解放的效果影响、 不能做上级召唤以外的祭品
●void Card.IsReleasableByEffect()
bool Card.IsReleasableByEffect(Card c)
检查c是否可以被效果解放
●void Card.IsDiscardable()
bool Card.IsDiscardable(Card[, int reason=REASON_COST])
检查c是否可以以reason原因丢弃
注:此函数仅用于检测,
以REASON_DISCARD作为原因把一张手卡送墓并不会导致那张卡不能丢弃
●void Card.CanAttack()
●void Card.CanChainAttack()
●void Card.IsFaceup()
bool Card.IsFaceup(Card c)
检查c是否是表侧表示
●void Card.IsAttackPos()
bool Card.IsAttackPos(Card c)
检查c是否是攻击表示
●void Card.IsFacedown()
bool Card.IsFacedown(Card c)
检查c是否是里侧表示
●void Card.IsDefensePos()
bool Card.IsDefensePos(Card c)
检查c是否是守备表示
●void Card.IsPosition()
bool Card.IsPosition(Card c, int pos)
检查c是否是表示形式pos
●void Card.IsPreviousPosition()
bool Card.IsPreviousPosition(Card c, int pos)
检查c位置变化之前是否是表示形式pos
●void Card.IsControler()
bool Card.IsControler(Card c, int controler)
检查c的当前控制着是否是controler
●void Card.IsOnField()
bool Card.IsOnField(Card c)
检查c是否在场
注:当怪兽召唤,反转召唤,特殊召唤时召唤成功之前,此函数返回false
●void Card.IsLocation()
bool Card.IsLocation(Card c, int location)
检查c当前位置是否是location
注:location=LOCATION_MZONE时,怪兽召唤(广义的)之际或被无效会返回 false
location=LOCATION_SZONE时,魔陷发动无效会返回false
●void Card.IsPreviousLocation()
bool Card.IsPreviousLocation(Card c, int location)
检查c之前的位置是否是location
●void Card.IsLevelBelow()
bool Card.IsLevelBelow(Card c, int level)
检查c是否是等级level以下(至少为1)
●void Card.IsLevelAbove()
bool Card.IsLevelAbove(Card c, int level)
检查c是否是等级level以上
●void Card.IsRankBelow()
bool Card.IsRankBelow(Card c, int rank)
检查c是否是阶级rank以下(至少为1)
●void Card.IsRankAbove()
bool Card.IsRankAbove(Card c, int rank)
检查c是否是阶级rank以上
●void Card.IsLinkBelow()
bool Card.IsLinkBelow(Card c, int link)
检查c是否连接标记数量是link以下(至少为1)
●void Card.IsLinkAbove()
bool Card.IsLinkAbove(Card c, int link)
检查c是否连接标记数量是link以上
●void Card.IsAttackBelow()
bool Card.IsAttackBelow(Card c, int atk)
检查c是否是攻击力atk以下(至少为0)
●void Card.IsAttackAbove()
bool Card.IsAttackAbove(Card c, int atk)
检查c是否是攻击力atk以上
●void Card.IsDefenseBelow()
bool Card.IsDefenseBelow(Card c, int def)
检查c是否是守备力def以下(至少为0)
●void Card.IsDefenseAbove()
bool Card.IsDefenseAbove(Card c, int def)
检查c是否是守备力def以上
●void Card.IsPublic()
bool Card.IsPublic(Card c)
检查c是否处于公开状态
●void Card.IsForbidden()
bool Card.IsForbidden(Card c)
检查c是否处于被宣言禁止状态
●void Card.IsAbleToChangeControler()
bool Card.IsAbleToChangeControler(Card c)
检查c是否可以改变控制权
注:仅当卡收到了“不能改变控制权”的效果的影响时,此函数返回false
●void Card.IsControlerCanBeChanged()
bool Card.IsControlerCanBeChanged(Card c[, bool ignore_mzone=false, int zone=0xff])
检查c的控制权是否可以改变。 ignore_mzone=true 会忽视转移控制权后的玩家场上是否有空格位, zone 表示必须要使用的位置
●void Card.AddCounter()
bool Card.AddCounter(Card c, int countertype, int count[, bool singly=false])
为c放置count个countertype类型的指示物,singly为true表示逐个添加至count 个为止
●void Card.RemoveCounter()
void Card.RemoveCounter(Card c, int player, int countertype, int count, int reason)
让玩家player以原因reason移除c上的count个countertype类型的指示物, countertype=0 则清除c的所有指示物,否则返回是否成功
●void Card.RemoveAllCounters()
●void Card.GetCounter()
int Card.GetCounter(Card c, int countertype)
返回c上的countertype类型的指示物的数量, countertype=0 则返回c上所有类型的指示物数量之和
●void Card.GetAllCounters()
●void Card.HasCounters()
●void Card.EnableCounterPermit()
void Card.EnableCounterPermit(Card c, int countertype[, int location, function filter])
允许c[在位置location]放置[满足条件 filter 的]需要“可以放置”才能放置的指示物countertype
location的默认值与c的种类有关,灵摆怪兽需要指定能否在怪兽区域或灵摆区域放置指示物
●void Card.SetCounterLimit()
void Card.SetCounterLimit(Card c, int countertype, int count)
设定c放置countertype类型指示物的上限
●void Card.IsCanChangePosition()
bool Card.IsCanChangePosition(Card c)
检查c是否可以用效果改变表示形式
●void Card.IsCanTurnSet()
bool Card.IsCanTurnSet(Card c)
检查c是否可以转成里侧表示
●void Card.IsCanAddCounter()
bool Card.IsCanAddCounter(Card c, int countertype[, int count, int singly=false, int location])
检查c是否可以[逐个(singly=true)在 location 区域]放置[count 个]countertype类型的指示物
●void Card.IsCanRemoveCounter()
bool Card.IsCanRemoveCounter(Card c, int player, int countertype, int count, int reason)
检查玩家player是否可以以原因reason移除c上的count个countertype类型的指示物
●void Card.IsCanBeFusionMaterial()
bool Card.IsCanBeFusionMaterial(Card c[, Card fc, int summon_type=SUMMON_TYPE_FUSION])
检查c是否可以成为[融合怪兽fc的summon_type方式的]融合素材