└── def.lua /def.lua: -------------------------------------------------------------------------------- 1 | ---@meta 2 | 3 | ---@class Card 4 | ---@field discard_effect Effect 5 | ---@field star_knight_summon_effect Effect 6 | ---@field Dragon_Ruler_handes_effect Effect 7 | ---@field killer_tune_be_material_effect Effect 8 | ---@field shadoll_flip_effect Effect 9 | Card = {} 10 | 11 | ---@class Duel 12 | Duel = {} 13 | 14 | ---@class Effect 15 | Effect = {} 16 | 17 | ---@class Group 18 | Group = {} 19 | 20 | ---@class Debug 21 | Debug = {} 22 | 23 | ----- 24 | 25 | ---仪式怪兽的解放过滤条件 26 | ---@return boolean 27 | ---@param c Card 28 | ---@param tp integer 29 | function Card.mat_filter(c,tp) end 30 | 31 | ---仪式怪兽的解放过滤条件 32 | ---@return boolean 33 | ---@param g Group 34 | ---@param tp integer 35 | function Card.mat_group_check(g,tp) end 36 | 37 | ---素材检查(烙印融合) 38 | ---@param tp integer 39 | ---@param sg Group 40 | ---@param fc Card 41 | function Card.branded_fusion_check(tp,sg,fc) end 42 | 43 | ---素材检查(电子负载融合) 44 | ---@param tp integer 45 | ---@param sg Group 46 | ---@param fc Card 47 | function Card.cyber_fusion_check(tp,sg,fc) end 48 | 49 | ---素材检查(破坏剑士融合) 50 | ---@param tp integer 51 | ---@param sg Group 52 | ---@param fc Card 53 | function Card.destruction_swordsman_fusion_check(tp,sg,fc) end 54 | 55 | ---素材检查(至爱接触) 56 | ---@param tp integer 57 | ---@param sg Group 58 | ---@param fc Card 59 | function Card.hero_fusion_check(tp,sg,fc) end 60 | 61 | ---素材检查(真红眼融合) 62 | ---@param tp integer 63 | ---@param sg Group 64 | ---@param fc Card 65 | function Card.red_eyes_fusion_check(tp,sg,fc) end 66 | 67 | ---素材检查(奇迹同调融合) 68 | ---@param tp integer 69 | ---@param sg Group 70 | ---@param fc Card 71 | function Card.synchro_fusion_check(tp,sg,fc) end 72 | 73 | ---素材检查(究极融合) 74 | ---@param tp integer 75 | ---@param sg Group 76 | ---@param fc Card 77 | function Card.ultimate_fusion_check(tp,sg,fc) end 78 | 79 | ---当作装备卡装备(异热同心武器) 80 | ---@param c Card 81 | ---@param tp integer 82 | ---@param tc Card 83 | function Card.zw_equip_monster(c,tp,tc) end 84 | 85 | 86 | ---返回c的当前卡号(可能因为效果改变) 87 | ---@return integer 88 | ---@return integer|nil 89 | ---@param c Card 90 | function Card.GetCode(c) end 91 | 92 | ---返回c的卡片记载的卡号 93 | ---@return integer 94 | ---@param c Card 95 | function Card.GetOriginalCode(c) end 96 | 97 | ---返回c规则上的卡号(这张卡规则上当作...使用) 98 | ---@return integer 99 | ---@return integer 100 | ---@param c Card 101 | function Card.GetOriginalCodeRule(c) end 102 | 103 | ---返回c作为融合素材时的卡号(包括c原本的卡号) 104 | ---@return integer 105 | ---@return integer|nil 106 | ---@return ...|nil 107 | ---@param c Card 108 | function Card.GetFusionCode(c) end 109 | 110 | ---返回c作为link素材的卡号(包括c原本的卡号) 111 | ---@return integer 112 | ---@return integer|nil 113 | ---@return ...|nil 114 | ---@param c Card 115 | function Card.GetLinkCode(c) end 116 | 117 | ---检查c作为融合素材时能否当作卡号为code的卡,额外参数是其他code 118 | ---@return boolean 119 | ---@param c Card 120 | ---@param code integer 121 | ---@param ...? integer 122 | function Card.IsFusionCode(c,code,...) end 123 | 124 | ---检查c作为link素材时能否当作卡号为code的卡,额外参数是其他code 125 | ---@return boolean 126 | ---@param c Card 127 | ---@param code integer 128 | ---@param ...? integer 129 | function Card.IsLinkCode(c,code,...) end 130 | 131 | ---检查c是否是卡名含有setname的卡 132 | ---@return boolean 133 | ---@param c Card 134 | ---@param ... integer 135 | function Card.IsSetCard(c,...) end 136 | 137 | ---检查c是否是原本卡名含有setname的卡 138 | ---@return boolean 139 | ---@param c Card 140 | ---@param ... integer 141 | function Card.IsOriginalSetCard(c,...) end 142 | 143 | ---检查c位置变化之前是否是名字含有setname的卡 144 | ---@return boolean 145 | ---@param c Card 146 | ---@param ... integer 147 | function Card.IsPreviousSetCard(c,...) end 148 | 149 | ---检查c作为融合素材时能否当作名字含有setname的卡 150 | ---@return boolean 151 | ---@param c Card 152 | ---@param ... integer 153 | function Card.IsFusionSetCard(c,...) end 154 | 155 | ---检查c作为link素材时能否当作名字含有setname的卡 156 | ---@return boolean 157 | ---@param c Card 158 | ---@param ... integer 159 | function Card.IsLinkSetCard(c,...) end 160 | 161 | ---返回c的当前类型 162 | ---@return integer 163 | ---@param c Card 164 | function Card.GetType(c) end 165 | 166 | ---返回c的卡片记载的类型 167 | ---@return integer 168 | ---@param c Card 169 | function Card.GetOriginalType(c) end 170 | 171 | ---返回c用作融合素材时的类型(与GetType的区别在于对于魔陷区的怪兽卡,返回其原本类型) 172 | ---@return integer 173 | ---@param c Card 174 | function Card.GetFusionType(c) end 175 | 176 | ---返回c用作同调素材时的类型(与GetType的区别在于对于魔陷区的怪兽卡,返回其原本类型) 177 | ---@return integer 178 | ---@param c Card 179 | function Card.GetSynchroType(c) end 180 | 181 | ---返回c用作同调素材时的类型(与GetType的区别在于对于魔陷区的怪兽卡,返回其原本类型) 182 | ---@return integer 183 | ---@param c Card 184 | function Card.GetXyzType(c) end 185 | 186 | ---返回c用作link素材时的类型(与GetType的区别在于对于魔陷区的怪兽卡,返回其原本类型) 187 | ---@return integer 188 | ---@param c Card 189 | function Card.GetLinkType(c) end 190 | 191 | ---返回c的当前等级 192 | ---@return integer 193 | ---@param c Card 194 | function Card.GetLevel(c) end 195 | 196 | ---返回c的当前阶级 197 | ---@return integer 198 | ---@param c Card 199 | function Card.GetRank(c) end 200 | 201 | ---返回c的连接标记数量 202 | ---@return integer 203 | ---@param c Card 204 | function Card.GetLink(c) end 205 | 206 | ---返回c的对于同调怪兽sc的同调用等级 207 | ---此函数除了某些特定卡如调节支援士,返回值与Card.GetLevel(c)相同 208 | ---@return integer 209 | ---@param c Card 210 | ---@param sc Card 211 | function Card.GetSynchroLevel(c,sc) end 212 | 213 | ---返回c的对于仪式怪兽rc仪式解放等级 214 | ---此函数除了某些特定卡如仪式供物,返回值与Card.GetLevel(c)相同 215 | ---@return integer 216 | ---@param c Card 217 | ---@param rc Card 218 | function Card.GetRitualLevel(c,rc) end 219 | 220 | ---返回c的卡片记载的等级 221 | ---@return integer 222 | ---@param c Card 223 | function Card.GetOriginalLevel(c) end 224 | 225 | ---返回c的卡片记载的阶级 226 | ---@return integer 227 | ---@param c Card 228 | function Card.GetOriginalRank(c) end 229 | 230 | ---检查c对于XYZ怪兽xyzc的XYZ用等级是否是lv 231 | ---@return boolean 232 | ---@param c Card 233 | ---@param xyzc Card 234 | ---@param lv integer 235 | function Card.IsXyzLevel(c,xyzc,lv) end 236 | 237 | ---返回c的左灵摆刻度 238 | ---@return integer 239 | ---@param c Card 240 | function Card.GetLeftScale(c) end 241 | 242 | ---返回c的原本的左灵摆刻度 243 | ---@return integer 244 | ---@param c Card 245 | function Card.GetOriginalLeftScale(c) end 246 | 247 | ---返回c的右灵摆刻度 248 | ---@return integer 249 | ---@param c Card 250 | function Card.GetRightScale(c) end 251 | 252 | ---返回c的原本的右灵摆刻度 253 | ---@return integer 254 | ---@param c Card 255 | function Card.GetOriginalRightScale(c) end 256 | 257 | ---返回c的当前灵摆刻度。如果在左灵摆区域则返回左刻度,在右灵摆区域或是不在灵摆区域则返回右刻度 258 | ---@return integer 259 | ---@param c Card 260 | function Card.GetCurrentScale(c) end 261 | 262 | ---检查c是否是连接标记为 dir 的卡 263 | ---@return boolean 264 | ---@param c Card 265 | ---@param dir integer 266 | function Card.IsLinkMarker(c,dir) end 267 | 268 | ---返回c所连接区的卡片组 269 | ---@return Group 270 | ---@param c Card 271 | function Card.GetLinkedGroup(c) end 272 | 273 | ---返回c所连接区的怪兽卡数量 274 | ---@return integer 275 | ---@param c Card 276 | function Card.GetLinkedGroupCount(c) end 277 | 278 | ---返回c的[以 player 来看的场上的]连接区域 279 | ---@return integer 280 | ---@param c Card 281 | ---@param player? integer default: c:GetControler() 282 | function Card.GetLinkedZone(c,player) end 283 | 284 | ---返回和c互相连接状态的卡片组 285 | ---@return Group 286 | ---@param c Card 287 | function Card.GetMutualLinkedGroup(c) end 288 | 289 | ---返回和c互相连接状态的卡片组的数量 290 | ---@return integer 291 | ---@param c Card 292 | function Card.GetMutualLinkedGroupCount(c) end 293 | 294 | ---返回[以 player 来看的]与卡片 c 互相连接的卡 所在的区域 295 | ---@return integer 296 | ---@param c Card 297 | ---@param player? integer default: c:GetControler() 298 | function Card.GetMutualLinkedZone(c,player) end 299 | 300 | ---检查c是否是连接状态 301 | ---@return boolean 302 | ---@param c Card 303 | function Card.IsLinkState(c) end 304 | 305 | ---检查c是否是额外连接状态 306 | ---@return boolean 307 | ---@param c Card 308 | function Card.IsExtraLinkState(c) end 309 | 310 | ---返回与c同一纵列的c以外的卡片组,后2个参数会计算卡片c左边 left 列 和右边 right 列的所有卡, 311 | ---比如c在中间的格子,那么 c:GetColumnGroup(2,2) 就相当于获取了除场地魔法以外的 场上的所有卡 312 | ---@return Group 313 | ---@param c Card 314 | ---@param left? integer default: 0 315 | ---@param right? integer default: 0 316 | function Card.GetColumnGroup(c,left,right) end 317 | 318 | ---用法同上,只是返回的是卡片的数量 319 | ---@return integer 320 | ---@param c Card 321 | ---@param left? integer default: 0 322 | ---@param right? integer default: 0 323 | function Card.GetColumnGroupCount(c,left,right) end 324 | 325 | ---返回[以 player 来看的] location 范围内与 c 同一纵列[包含左边 left 列和右边 right 列]的区域, 326 | ---location 的值是 LOCATION_MZONE,LOCATION_SZONE,LOCATIOIN_ONFIELD 327 | ---@return integer 328 | ---@param c Card 329 | ---@param location integer 330 | ---@param left? integer 331 | ---@param right? integer 332 | ---@param player? integer 333 | function Card.GetColumnZone(c,location,left,right,player) end 334 | 335 | ---检查与c同一纵列的区域是否全都有卡 336 | ---@return boolean 337 | ---@param c Card 338 | function Card.IsAllColumn(c) end 339 | 340 | ---返回c的当前属性 341 | ---注:对某些多属性怪兽如光与暗之龙,此函数的返回值可能是几个属性的组合值 342 | ---@return integer 343 | ---@param c Card 344 | function Card.GetAttribute(c) end 345 | 346 | ---返回c的卡片记载的属性 347 | ---@return integer 348 | ---@param c Card 349 | function Card.GetOriginalAttribute(c) end 350 | 351 | ---返回c[由player融合召唤时]用作融合素材时的属性 352 | ---@return integer 353 | ---@param c Card 354 | ---@param player? integer 355 | function Card.GetFusionAttribute(c,player) end 356 | 357 | ---返回c[由player连接召唤时]用作连接素材时的属性 358 | ---@return integer 359 | ---@param c Card 360 | ---@param player? integer 361 | function Card.GetLinkAttribute(c,player) end 362 | 363 | ---检查c在墓地中会变成什么属性。 364 | ---第二个参数可选,指示假设送去墓地是由于哪个玩家。 365 | ---@return integer 366 | ---@param c Card 367 | ---@param reasonPlayer? integer 368 | function Card.GetAttributeInGrave(c,reasonPlayer) end 369 | 370 | ---返回c的当前种族 371 | ---注:对某些多种族怪兽如动画效果的魔术猿,此函数的返回值可能是几个种族的组合值 372 | ---@return integer 373 | ---@param c Card 374 | function Card.GetRace(c) end 375 | 376 | ---返回c的卡片记载的种族 377 | ---@return integer 378 | ---@param c Card 379 | function Card.GetOriginalRace(c) end 380 | 381 | ---返回c[由player连接召唤时]作为连接素材时的种族 382 | ---@return integer 383 | ---@param c Card 384 | ---@param player? integer 385 | function Card.GetLinkRace(c,player) end 386 | 387 | ---检查c在墓地中会变成什么种族。 388 | ---第二个参数可选,指示假设送去墓地是由于哪个玩家。 389 | ---@return integer 390 | ---@param c Card 391 | ---@param reasonPlayer? integer 392 | function Card.GetRaceInGrave(c,reasonPlayer) end 393 | 394 | ---返回c的当前攻击力 395 | ---@return integer 396 | ---@param c Card 397 | function Card.GetAttack(c) end 398 | 399 | ---返回c的原本攻击力 400 | ---@return integer 401 | ---@param c Card 402 | function Card.GetBaseAttack(c) end 403 | 404 | ---返回c的卡片记载的攻击力,返回值是负数表示是"?" 405 | ---@return integer 406 | ---@param c Card 407 | function Card.GetTextAttack(c) end 408 | 409 | ---返回c的当前守备力 410 | ---@return integer 411 | ---@param c Card 412 | function Card.GetDefense(c) end 413 | 414 | ---返回c的原本守备力 415 | ---@return integer 416 | ---@param c Card 417 | function Card.GetBaseDefense(c) end 418 | 419 | ---返回c的卡片记载的守备力,返回值是负数表示是"?" 420 | ---@return integer 421 | ---@param c Card 422 | function Card.GetTextDefense(c) end 423 | 424 | ---返回c位置变化之前在场上的卡号 425 | ---@return integer 426 | ---@return integer|nil 427 | ---@param c Card 428 | function Card.GetPreviousCodeOnField(c) end 429 | 430 | ---返回c位置变化之前在场上的类型 431 | ---@return integer 432 | ---@param c Card 433 | function Card.GetPreviousTypeOnField(c) end 434 | 435 | ---返回c位置变化之前在场上的等级 436 | ---@return integer 437 | ---@param c Card 438 | function Card.GetPreviousLevelOnField(c) end 439 | 440 | ---返回c位置变化之前在场上的阶级 441 | ---@return integer 442 | ---@param c Card 443 | function Card.GetPreviousRankOnField(c) end 444 | 445 | ---返回c位置变化之前在场上的属性 446 | ---@return integer 447 | ---@param c Card 448 | function Card.GetPreviousAttributeOnField(c) end 449 | 450 | ---返回c位置变化之前在场上的种族 451 | ---@return integer 452 | ---@param c Card 453 | function Card.GetPreviousRaceOnField(c) end 454 | 455 | ---返回c位置变化之前在场上的攻击力 456 | ---@return integer 457 | ---@param c Card 458 | function Card.GetPreviousAttackOnField(c) end 459 | 460 | ---返回c位置变化之前在场上的守备力 461 | ---@return integer 462 | ---@param c Card 463 | function Card.GetPreviousDefenseOnField(c) end 464 | 465 | ---返回c位置变化之前在场上叠放的卡片数量 466 | ---@return integer 467 | ---@param c Card 468 | function Card.GetPreviousOverlayCountOnField(c) end 469 | 470 | ---返回c的持有者 471 | ---@return integer 472 | ---@param c Card 473 | function Card.GetOwner(c) end 474 | 475 | ---返回c的当前控制者 476 | ---@return integer 477 | ---@param c Card 478 | function Card.GetControler(c) end 479 | 480 | ---返回c的位置变化之前的控制者 481 | ---@return integer 482 | ---@param c Card 483 | function Card.GetPreviousControler(c) end 484 | 485 | ---设置c来到当前位置的原因为reason 486 | ---@return boolean 487 | ---@param c Card 488 | ---@param reason integer 489 | function Card.SetReason(c,reason) end 490 | 491 | ---返回c的位置变化原因 492 | ---@return integer 493 | ---@param c Card 494 | function Card.GetReason(c) end 495 | 496 | ---返回导致c的位置变化的卡 497 | ---此函数仅在某卡被战斗破坏时,因为上级召唤被解放,或者成为特殊召唤使用的素材时有效 498 | ---@return Card 499 | ---@param c Card 500 | function Card.GetReasonCard(c) end 501 | 502 | ---返回导致c的位置变化的玩家 503 | ---@return integer 504 | ---@param c Card 505 | function Card.GetReasonPlayer(c) end 506 | 507 | ---返回导致c的位置变化的效果 508 | ---@return Effect 509 | ---@param c Card 510 | function Card.GetReasonEffect(c) end 511 | 512 | ---返回c当前的表示形式 513 | ---@return integer 514 | ---@param c Card 515 | function Card.GetPosition(c) end 516 | 517 | ---返回c位置变化前的表示形式 518 | ---@return integer 519 | ---@param c Card 520 | function Card.GetPreviousPosition(c) end 521 | 522 | ---返回c在本次战斗发生之前的表示形式 523 | ---@return integer 524 | ---@param c Card 525 | function Card.GetBattlePosition(c) end 526 | 527 | ---返回c当前的所在位置 528 | ---@return integer 529 | ---@param c Card 530 | function Card.GetLocation(c) end 531 | 532 | ---返回c位置变化前的所在的位置 533 | ---@return integer 534 | ---@param c Card 535 | function Card.GetPreviousLocation(c) end 536 | 537 | ---返回c在当前位置的序号 538 | ---在场上时,序号代表所在的格子,从左往右分别是0-4,场地魔法格的序号为5 539 | ---在其它地方时,序号表示的是第几张卡,最下面的卡的序号为0 540 | ---@return integer 541 | ---@param c Card 542 | function Card.GetSequence(c) end 543 | 544 | ---返回c位置变化前的序号 545 | ---@return integer 546 | ---@param c Card 547 | function Card.GetPreviousSequence(c) end 548 | 549 | ---检查c是否被卡名含有setname的卡特殊召唤 550 | ---@return boolean 551 | ---@param c Card 552 | ---@param ... integer 553 | function Card.IsSpecialSummonSetCard(c,...) end 554 | 555 | ---返回c的特殊召唤的信息 556 | ---SUMMON_INFO_CODE 557 | ---SUMMON_INFO_CODE2 558 | ---SUMMON_INFO_TYPE 559 | ---SUMMON_INFO_LEVEL 560 | ---SUMMON_INFO_RANK 561 | ---SUMMON_INFO_ATTRIBUTE 562 | ---SUMMON_INFO_RACE 563 | ---SUMMON_INFO_ATTACK 564 | ---SUMMON_INFO_DEFENSE 565 | ---SUMMON_INFO_REASON_EFFET 566 | ---@return ... 567 | ---@param c Card 568 | ---@param ... integer 569 | function Card.GetSpecialSummonInfo(c,...) end 570 | 571 | ---返回c的召唤/特殊召唤的方式 572 | ---@return integer 573 | ---@param c Card 574 | function Card.GetSummonType(c) end 575 | 576 | ---返回c的召唤/特殊召唤的位置 577 | ---@return integer 578 | ---@param c Card 579 | function Card.GetSummonLocation(c) end 580 | 581 | ---返回召唤/特殊召唤 c 上场的玩家 582 | ---@return integer 583 | ---@param c Card 584 | function Card.GetSummonPlayer(c) end 585 | 586 | ---返回c位置变化的目的地 587 | ---此函数仅在处理位置转移代替效果时有效 588 | ---@return integer 589 | ---@param c Card 590 | function Card.GetDestination(c) end 591 | 592 | ---返回c离场时因改变去向的效果(如大宇宙)的目的地 593 | ---@return integer 594 | ---@param c Card 595 | function Card.GetLeaveFieldDest(c) end 596 | 597 | ---返回c转移到当前位置的回合 598 | ---@return integer 599 | ---@param c Card 600 | function Card.GetTurnID(c) end 601 | 602 | ---返回c转移到当前位置的时间标识 603 | ---此数值唯一,越小表示c是越早出现在那个位置 604 | ---卡片从里侧翻开也会改变此数值 605 | ---@return integer 606 | ---@param c Card 607 | function Card.GetFieldID(c) end 608 | 609 | ---返回c转移到当前位置的真实的时间标识 610 | ---卡片从里侧翻开不会改变此数值 611 | ---@return integer 612 | ---@param c Card 613 | function Card.GetRealFieldID(c) end 614 | 615 | ---检查c是否在规则上当做code使用 616 | ---@return boolean 617 | ---@param c Card 618 | ---@param code integer 619 | function Card.IsOriginalCodeRule(c,code) end 620 | 621 | ---检查c的卡号是否是 code1[, 或者为 code2...] 622 | ---@return boolean 623 | ---@param c Card 624 | ---@param code1 integer 625 | ---@param code2? integer 626 | ---@param ...? integer 627 | function Card.IsCode(c,code1,code2,...) end 628 | 629 | ---检查c是否包含type之中任何类型 630 | ---@return boolean 631 | ---@param c Card 632 | ---@param type integer 633 | function Card.IsType(c,type) end 634 | 635 | ---检查c是否包含type之中全部类型 636 | ---@return boolean 637 | ---@param c Card 638 | ---@param type integer 639 | function Card.IsAllTypes(c,type) end 640 | 641 | ---检查c用作融合素材时是否属于类型type(与IsType的区别在于对于魔陷区的怪兽卡,用其原本类型作判断) 642 | ---@return boolean 643 | ---@param c Card 644 | ---@param type integer 645 | function Card.IsFusionType(c,type) end 646 | 647 | ---检查c用作同调素材时是否属于类型type(与IsType的区别在于对于魔陷区的怪兽卡,用其原本类型作判断) 648 | ---@return boolean 649 | ---@param c Card 650 | ---@param type integer 651 | function Card.IsSynchroType(c,type) end 652 | 653 | ---检查c用作XYZ素材时是否属于类型type(与IsType的区别在于对于魔陷区的怪兽卡,用其原本类型作判断) 654 | ---@return boolean 655 | ---@param c Card 656 | ---@param type integer 657 | function Card.IsXyzType(c,type) end 658 | 659 | ---检查c用作连接素材时是否属于类型type(与IsType的区别在于对于魔陷区的怪兽卡,用其原本类型作判断) 660 | ---@return boolean 661 | ---@param c Card 662 | ---@param type integer 663 | function Card.IsLinkType(c,type) end 664 | 665 | ---检查c是否是等级 level1[, 或者为 level2...] 666 | ---@return boolean 667 | ---@param c Card 668 | ---@param level1 integer 669 | ---@param level2? integer 670 | ---@param ...? integer 671 | function Card.IsLevel(c,level1,level2,...) end 672 | 673 | ---检查c是否是阶级 rank1[, 或者为 rank2...] 674 | ---@return boolean 675 | ---@param c Card 676 | ---@param rank1 integer 677 | ---@param rank2? integer 678 | ---@param ...? integer 679 | function Card.IsRank(c,rank1,rank2,...) end 680 | 681 | ---检查c的连接标记数量是否是 link1[, 或者为 link2...] 682 | ---@return boolean 683 | ---@param c Card 684 | ---@param link1 integer 685 | ---@param link2? integer 686 | ---@param ...? integer 687 | function Card.IsLink(c,link1,link2,...) end 688 | 689 | ---检查c的攻击力是否是 atk1[, 或者为 atk2...],如果c不是怪兽卡,或者不在 LOCATION_MZONE 则都返回false 690 | ---@return boolean 691 | ---@param c Card 692 | ---@param atk1 integer 693 | ---@param atk2? integer 694 | ---@param ...? integer 695 | function Card.IsAttack(c,atk1,atk2,...) end 696 | 697 | ---检查c的守备力是否是 def1[, 或者为 def2...],如果c不是怪兽卡,或者不在 LOCATION_MZONE 则都返回false 698 | ---@return boolean 699 | ---@param c Card 700 | ---@param def integer 701 | ---@param atk2? integer 702 | ---@param ...? integer 703 | function Card.IsDefense(c,def,atk2,...) end 704 | 705 | ---检查c是否属于种族race 706 | ---@return boolean 707 | ---@param c Card 708 | ---@param race integer 709 | function Card.IsRace(c,race) end 710 | 711 | ---检查c[由player连接召唤时]用作连接素材时是否属于种族race 712 | ---@return boolean 713 | ---@param c Card 714 | ---@param race integer 715 | ---@param player? integer 716 | function Card.IsLinkRace(c,race,player) end 717 | 718 | ---检查c是否属于属性attribute 719 | ---@return boolean 720 | ---@param c Card 721 | ---@param attribute integer 722 | function Card.IsAttribute(c,attribute) end 723 | 724 | ---检查c[由player融合召唤时]用作融合素材是否属于属性attribute 725 | ---@return boolean 726 | ---@param c Card 727 | ---@param attribute integer 728 | ---@param player? integer 729 | function Card.IsFusionAttribute(c,attribute,player) end 730 | 731 | ---检查c[由player连接召唤时]用作连接素材是否属于属性attribute 732 | ---@return boolean 733 | ---@param c Card 734 | ---@param attribute integer 735 | ---@param player? integer 736 | function Card.IsLinkAttribute(c,attribute,player) end 737 | 738 | ---检查c是否有attribute以外的属性 739 | ---(如暗黑神鸟同时具有暗和风属性,not IsAttribute(暗)是false,但IsNonAttribute(暗)是true) 740 | ---@return boolean 741 | ---@param c Card 742 | ---@param attribute integer 743 | function Card.IsNonAttribute(c,attribute) end 744 | 745 | ---检查c原本是否为融合·同调·XYZ·连接怪兽。这个函数只检查类型,不关心被检查的怪兽的现状。 746 | ---@return boolean 747 | ---@param c Card 748 | function Card.IsExtraDeckMonster(c) end 749 | 750 | ---检查c是否包含reason之中任何原因 751 | ---@return boolean 752 | ---@param c Card 753 | ---@param reason integer 754 | function Card.IsReason(c,reason) end 755 | 756 | ---检查c是否包含reason之中全部原因 757 | ---@return boolean 758 | ---@param c Card 759 | ---@param reason integer 760 | function Card.IsAllReasons(c,reason) end 761 | 762 | ---检查c的召唤类型是否是sumtype 763 | ---@return boolean 764 | ---@param c Card 765 | ---@param sumtype integer 766 | function Card.IsSummonType(c,sumtype) end 767 | 768 | ---检查c召唤·特殊召唤的位置是否为loc 769 | ---@return boolean 770 | ---@param c Card 771 | ---@param loc integer 772 | function Card.IsSummonLocation(c,loc) end 773 | 774 | ---检查将c召唤·特殊召唤的玩家是否为player 775 | ---@return boolean 776 | ---@param c Card 777 | ---@param player integer 778 | function Card.IsSummonPlayer(c,player) end 779 | 780 | ---检查c是否包含某个状态码 781 | ---@return boolean 782 | ---@param c Card 783 | ---@param status integer 784 | function Card.IsStatus(c,status) end 785 | 786 | ---检查c是否可以当成scard的非调整来使用 787 | ---@return boolean 788 | ---@param c Card 789 | ---@param scard Card 790 | function Card.IsNotTuner(c,scard) end 791 | 792 | ---检查c是否为scard的调整怪兽。 793 | ---除了检查TYPE_TUNER以外,还会检查其身上所有能让其变为调整怪兽的效果。 794 | ---@return boolean 795 | ---@param c Card 796 | ---@param scard Card 797 | function Card.IsTuner(c,scard) end 798 | 799 | ---检查c是否为记载满足过滤条件filter效果的卡 800 | ---@return boolean 801 | ---@param c Card 802 | ---@param filter function filter(Effect) 803 | function Card.IsOriginalEffectProperty(c,filter) end 804 | 805 | ---检查c是否为持有满足过滤条件filter效果的卡 806 | ---@return boolean 807 | ---@param c Card 808 | ---@param filter function filter(Effect) 809 | function Card.IsEffectProperty(c,filter) end 810 | 811 | ---给c设置或者取消状态码 812 | ---除非妳清楚的了解每个状态码的含意,否则不要轻易使用此函数 813 | ---@param c Card 814 | ---@param state integer 815 | ---@param enable boolean 816 | function Card.SetStatus(c,state,enable) end 817 | 818 | ---检查c属否处于再召唤状态 819 | ---@return boolean 820 | ---@param c Card 821 | function Card.IsDualState(c) end 822 | 823 | ---把c设置成再召唤状态 824 | ---@param c Card 825 | function Card.EnableDualState(c) end 826 | 827 | ---设置c的回合计数器(光之护封剑等) 828 | ---@param c Card 829 | ---@param counter integer 830 | function Card.SetTurnCounter(c,counter) end 831 | 832 | ---返回c的回合计数器 833 | ---@return integer 834 | ---@param c Card 835 | function Card.GetTurnCounter(c) end 836 | 837 | ---把g中的所有卡作为c的素材(上级召唤,特殊召唤) 838 | ---@param c Card 839 | ---@param g Group|nil 840 | function Card.SetMaterial(c,g) end 841 | 842 | ---返回c出场使用的素材 843 | ---@return Group 844 | ---@param c Card 845 | function Card.GetMaterial(c) end 846 | 847 | ---返回c出场使用的素材数量 848 | ---@return integer 849 | ---@param c Card 850 | function Card.GetMaterialCount(c) end 851 | 852 | ---返回c当前装备着的卡片组 853 | ---@return Group 854 | ---@param c Card 855 | function Card.GetEquipGroup(c) end 856 | 857 | ---返回c当前装备着的卡片数量 858 | ---@return integer 859 | ---@param c Card 860 | function Card.GetEquipCount(c) end 861 | 862 | ---返回c当前的装备对象 863 | ---@return Card 864 | ---@param c Card 865 | function Card.GetEquipTarget(c) end 866 | 867 | ---返回c之前的装备对象 868 | ---@return Card 869 | ---@param c Card 870 | function Card.GetPreviousEquipTarget(c) end 871 | 872 | ---检查c2是否是c1的正确的装备对象 873 | ---##由EFFECT_EQUIP_LIMIT效果或同盟状态确定 874 | ---@return boolean 875 | ---@param c1 Card 876 | ---@param c2 Card 877 | function Card.CheckEquipTarget(c1,c2) end 878 | 879 | ---检查ec是否为c的有效同盟装备对象。会检查EFFECT_UNION_LIMIT影响和新旧同盟影响。 880 | ---@return Card 881 | ---@param c Card 882 | ---@param ec Card 883 | function Card.CheckUnionTarget(c,ec) end 884 | 885 | ---返回c当前装备的同盟卡数量、旧同盟卡数量 886 | ---@return integer 887 | ---@return integer 888 | ---@param c Card 889 | function Card.GetUnionCount(c) end 890 | 891 | ---返回c当前叠放着的卡片组 892 | ---@return Group 893 | ---@param c Card 894 | function Card.GetOverlayGroup(c) end 895 | 896 | ---返回c当前叠放着的卡片数量 897 | ---@return integer 898 | ---@param c Card 899 | function Card.GetOverlayCount(c) end 900 | 901 | ---返回以c为XYZ素材的卡 902 | ---@return Card 903 | ---@param c Card 904 | function Card.GetOverlayTarget(c) end 905 | 906 | ---检查玩家player能否以reason为原因,至少移除c叠放的count张卡 907 | ---@return boolean 908 | ---@param c Card 909 | ---@param player integer 910 | ---@param count integer 911 | ---@param reason integer 912 | function Card.CheckRemoveOverlayCard(c,player,count,reason) end 913 | 914 | ---以reason为原因,让玩家player移除c叠放的min-max张卡,返回值表示移除的数量 915 | ---@return integer 916 | ---@param c Card 917 | ---@param player integer 918 | ---@param min integer 919 | ---@param max integer 920 | ---@param reason integer 921 | function Card.RemoveOverlayCard(c,player,min,max,reason) end 922 | 923 | ---返回c本回合攻击过的卡片组 924 | ---@return Group 925 | ---@param c Card 926 | function Card.GetAttackedGroup(c) end 927 | 928 | ---返回c本回合攻击过的卡片数量 929 | ---@return integer 930 | ---@param c Card 931 | function Card.GetAttackedGroupCount(c) end 932 | 933 | ---返回c本回合攻击过的次数 934 | ---注:如果此值与上一个函数的返回值不同,那么说明此卡本回合进行过直接攻击 935 | ---@return integer 936 | ---@param c Card 937 | function Card.GetAttackedCount(c) end 938 | 939 | ---返回与c本回合进行过战斗的卡片组 940 | ---进行过战斗指发生过伤害的计算,用于剑斗兽等卡的判定 941 | ---@return Group 942 | ---@param c Card 943 | function Card.GetBattledGroup(c) end 944 | 945 | ---返回与c本回合进行过战斗的的卡片数量 946 | ---@return integer 947 | ---@param c Card 948 | function Card.GetBattledGroupCount(c) end 949 | 950 | ---返回c本回合攻击宣言的次数 951 | ---注:攻击被无效不会被计入攻击过的次数,但是会计入攻击宣言的次数 952 | ---@return integer 953 | ---@param c Card 954 | function Card.GetAttackAnnouncedCount(c) end 955 | 956 | ---检查c是否直接攻击过 957 | ---@return boolean 958 | ---@param c Card 959 | function Card.IsDirectAttacked(c) end 960 | 961 | ---把c2作为c1的永续对象 962 | ---c1和c2的联系会在c1或c2任意一卡离场或变成里侧表示时reset 963 | ---@param c1 Card 964 | ---@param c2 Card 965 | function Card.SetCardTarget(c1,c2) end 966 | 967 | ---返回c当前所有的永续对象 968 | ---@return Group 969 | ---@param c Card 970 | function Card.GetCardTarget(c) end 971 | 972 | ---返回c当前第一个永续对象,没有则返回 nil 973 | ---@return Card 974 | ---@param c Card 975 | function Card.GetFirstCardTarget(c) end 976 | 977 | ---返回c当前的永续对象的数量 978 | ---@return integer 979 | ---@param c Card 980 | function Card.GetCardTargetCount(c) end 981 | 982 | ---检查c2是否取c1为永续对象 983 | ---@return boolean 984 | ---@param c1 Card 985 | ---@param c2 Card 986 | function Card.IsHasCardTarget(c1,c2) end 987 | 988 | ---取消c2为c1的永续对象 989 | ---@param c1 Card 990 | ---@param c2 Card 991 | function Card.CancelCardTarget(c1,c2) end 992 | 993 | ---返回取c作为永续对象的所有卡 994 | ---@return Group 995 | ---@param c Card 996 | function Card.GetOwnerTarget(c) end 997 | 998 | ---返回取c作为永续对象的卡的数量 999 | ---@return integer 1000 | ---@param c Card 1001 | function Card.GetOwnerTargetCount(c) end 1002 | 1003 | ---返回c的“卡片发动”的效果,即类型为EFFECT_TYPE_ACTIVATE的效果 1004 | ---仅对魔法和陷阱有效 1005 | ---@return Effect 1006 | ---@return ...? Effect 1007 | ---@param c Card 1008 | function Card.GetActivateEffect(c) end 1009 | 1010 | ---返回c的可以发动时机正确的“卡的发动”的效果,neglect_con=true则无视发动条件,neglect_cost=true则无视发动cost 1011 | ---copy_info=false或者自由时点的效果则只返回这个效果 e 1012 | ---否则还返回这个效果的触发时点的信息 e,eg,ep,ev,re,r,rp 1013 | ---@return Effect 1014 | ---@return Group|nil 1015 | ---@return integer|nil 1016 | ---@return integer|nil 1017 | ---@return Effect|nil 1018 | ---@return integer|nil 1019 | ---@return integer|nil 1020 | ---@param c Card 1021 | ---@param neglect_con boolean 1022 | ---@param neglect_cost boolean 1023 | ---@param copy_info boolean 1024 | function Card.CheckActivateEffect(c,neglect_con,neglect_cost,copy_info) end 1025 | 1026 | ---如果卡片 c 受到同调素材限制效果 EFFECT_TUNER_MATERIAL_LIMIT 影响,则返回 Effect e,function target,int value,int min,int max ;否则返回nil 1027 | ---@return nil|Effect 1028 | ---@return function|nil 1029 | ---@return integer|nil 1030 | ---@return integer|nil 1031 | ---@return integer|nil 1032 | ---@param c Card 1033 | function Card.GetTunerLimit(c) end 1034 | 1035 | ---如果卡片 c 受到手卡同调效果 EFFECT_HAND_SYNCHRO 影响,则返回 Effect e,function target,int min,int max ;否则返回nil 1036 | ---@return nil|Effect 1037 | ---@return function|nil 1038 | ---@return integer|nil 1039 | ---@return integer|nil 1040 | ---@param c Card 1041 | function Card.GetHandSynchro(c) end 1042 | 1043 | ---把效果e注册给c,返回效果的全局id,并设置e的Handler为c 1044 | ---默认情况下注册时如果c带有免疫e的效果那么注册会失败 1045 | ---如果forced为true则不会检查c对e的免疫效果 1046 | ---@return integer 1047 | ---@param c Card 1048 | ---@param e Effect 1049 | ---@param forced? boolean default: false 1050 | function Card.RegisterEffect(c,e,forced) end 1051 | 1052 | ---检查c是否受到效果种类是code的效果的影响 1053 | ---没有则返回nil 1054 | ---有则返回那些效果 1055 | ---@return Effect 1056 | ---@return ...? Effect 1057 | ---@param c Card 1058 | ---@param code integer 1059 | ---@param player? integer 1060 | function Card.IsHasEffect(c,code,player) end 1061 | 1062 | ---以重置类型为reset_type、重置种类为reset_code手动重置c受到的效果的影响 1063 | ---reset_type只能是以下类型,对应的重置种类为 1064 | ---RESET_EVENT 发生事件重置 reset_code为事件 1065 | ---RESET_PHASE 阶段结束重置 reset_code为阶段 1066 | ---RESET_CODE 重置指定code的效果 reset_code为效果的种类code,只能重置EFFECT_TYPE_SINGLE的永续型效果 1067 | ---RESET_COPY 重置复制的效果 reset_code为copy_id 1068 | ---RESET_CARD 重置卡片的效果 reset_code为效果owner的卡号 1069 | ---@param c Card 1070 | ---@param reset_code integer 1071 | ---@param reset_type integer 1072 | function Card.ResetEffect(c,reset_code,reset_type) end 1073 | 1074 | ---返回c受到影响的种类是code的效果的数量 1075 | ---@return integer 1076 | ---@param c Card 1077 | ---@param code integer 1078 | function Card.GetEffectCount(c,code) end 1079 | 1080 | ---为c注册一个标识用效果 1081 | ---注:注册给卡的标识用效果不会用于系统, 1082 | ---即使code与内置效果code重合也不会影响, 1083 | ---并且类型总是EFFECT_TYPE_SINGLE,reset方法,property和一般的效果相同, 1084 | ---并且不会无效化,不受卡的免疫效果影响 1085 | ---@return Effect 1086 | ---@param c Card 1087 | ---@param code integer 1088 | ---@param reset_flag integer 1089 | ---@param property integer 1090 | ---@param reset_count integer 1091 | ---@param label? integer 1092 | ---@param desc? integer 1093 | function Card.RegisterFlagEffect(c,code,reset_flag,property,reset_count,label,desc) end 1094 | 1095 | ---返回c的种类是code的标识效果的数量 1096 | ---@return integer 1097 | ---@param c Card 1098 | ---@param code integer 1099 | function Card.GetFlagEffect(c,code) end 1100 | 1101 | ---手动清除c的种类是code的标识效果 1102 | ---@param c Card 1103 | ---@param code integer 1104 | function Card.ResetFlagEffect(c,code) end 1105 | 1106 | ---返回c是否存在种类为code的标识效果,若有则设置第一个的Label属性为label 1107 | ---@return boolean 1108 | ---@param c Card 1109 | ---@param code integer 1110 | ---@param label integer 1111 | function Card.SetFlagEffectLabel(c,code,label) end 1112 | 1113 | ---返回c的种类为code的每个标识效果的Label,没有此效果则返回nil 1114 | ---@return integer 1115 | ---@return ...? integer 1116 | ---@param c Card 1117 | ---@param code integer 1118 | function Card.GetFlagEffectLabel(c,code) end 1119 | 1120 | ---为c1建立与c2的联系,此联系仅会由于c1发生RESET_EVENT的事件reset 1121 | ---@param c1 Card 1122 | ---@param c2 Card 1123 | ---@param reset_flag integer 1124 | function Card.CreateRelation(c1,c2,reset_flag) end 1125 | 1126 | ---手动释放c1对于c2的联系 1127 | ---@param c1 Card 1128 | ---@param c2 Card 1129 | function Card.ReleaseRelation(c1,c2) end 1130 | 1131 | ---为卡片c和效果e建立联系 1132 | ---@param c Card 1133 | ---@param e Effect 1134 | function Card.CreateEffectRelation(c,e) end 1135 | 1136 | ---手动释放c与效果e的联系 1137 | ---@param c Card 1138 | ---@param e Effect 1139 | function Card.ReleaseEffectRelation(c,e) end 1140 | 1141 | ---清空c所有联系的效果 1142 | ---@param c Card 1143 | function Card.ClearEffectRelation(c) end 1144 | 1145 | ---检查c是否和效果e有联系 1146 | ---注:每次发动进入连锁的效果时,发动效果的卡,以及发动效果时指定的对象 1147 | ---(用Duel.SetTargetCard或者Duel.SelectTarget指定的,包括取对象和不取对象) 1148 | ---会自动与那个效果建立联系,一旦离场,联系会重置 1149 | ---@return boolean 1150 | ---@param c Card 1151 | ---@param e Effect 1152 | function Card.IsRelateToEffect(c,e) end 1153 | 1154 | ---检查c是否和连锁chainc有联系 1155 | ---注:每次发动进入连锁的效果时,发动效果的卡,以及发动效果时指定的对象 1156 | ---(用Duel.SetTargetCard或者Duel.SelectTarget指定的,包括取对象和不取对象) 1157 | ---会自动与那个效果建立联系,一旦离场,联系会重置 1158 | ---@return boolean 1159 | ---@param c Card 1160 | ---@param chainc? integer default: 0 1161 | function Card.IsRelateToChain(c,chainc) end 1162 | 1163 | ---检查c1是否和c2有联系 1164 | ---@return boolean 1165 | ---@param c1 Card 1166 | ---@param c2 Card 1167 | function Card.IsRelateToCard(c1,c2) end 1168 | 1169 | ---检查c是否和本次战斗关联 1170 | ---注:此效果通常用于伤害计算后伤害阶段结束前,用于检查战斗的卡是否离场过 1171 | ---@return boolean 1172 | ---@param c Card 1173 | function Card.IsRelateToBattle(c) end 1174 | 1175 | ---为c添加卡号是code的卡的可复制的效果,并且添加额外的reset条件 1176 | ---返回值是表示复制效果的代号id 1177 | ---@return integer 1178 | ---@param c Card 1179 | ---@param code integer 1180 | ---@param reset_flag integer 1181 | ---@param reset_count? integer default: 1 1182 | function Card.CopyEffect(c,code,reset_flag,reset_count) end 1183 | 1184 | ---把c的效果替换为卡号是code的卡的效果,并且添加额外的reset条件 1185 | ---返回值是表示替换效果的代号id 1186 | ---@return integer 1187 | ---@param c Card 1188 | ---@param code integer 1189 | ---@param reset_flag integer 1190 | ---@param reset_count? integer default: 1 1191 | function Card.ReplaceEffect(c,code,reset_flag,reset_count) end 1192 | 1193 | ---为c添加苏生限制 1194 | ---##实际上是不可复制、不会被无效的EFFECT_UNSUMMONABLE_CARD和EFFECT_REVIVE_LIMIT效果 1195 | ---@param c Card 1196 | function Card.EnableReviveLimit(c) end 1197 | 1198 | ---使c完成正规的召唤手续 1199 | ---##此函数也可通过 c:SetStatus(STATUS_PROC_COMPLETE,true)实现 1200 | ---@param c Card 1201 | function Card.CompleteProcedure(c) end 1202 | 1203 | ---检查c是否处于无效状态 1204 | ---@return boolean 1205 | ---@param c Card 1206 | function Card.IsDisabled(c) end 1207 | 1208 | ---检查c是否是可被[效果 e]破坏的 1209 | ---@return boolean 1210 | ---@param c Card 1211 | ---@param e? Effect 1212 | function Card.IsDestructable(c,e) end 1213 | 1214 | ---检查c是否是可通常召唤的卡 1215 | ---@return boolean 1216 | ---@param c Card 1217 | function Card.IsSummonableCard(c) end 1218 | 1219 | ---检查c是否能以正规方法特殊召唤。 1220 | ---c必须有可特殊召唤的方式。 1221 | ---@return boolean 1222 | ---@param c Card 1223 | function Card.IsSpecialSummonableCard(c) end 1224 | 1225 | ---检查c是否是可[用 sum_type 方式]融合召唤的卡 1226 | ---@return boolean 1227 | ---@param c Card 1228 | ---@param sum_type? integer 1229 | function Card.IsFusionSummonableCard(c,sum_type) end 1230 | 1231 | ---检查是否可以对c[用 sum_type 方式]进行特殊召唤手续 1232 | ---@return boolean 1233 | ---@param c Card 1234 | ---@param sum_type? integer 1235 | function Card.IsSpecialSummonable(c,sum_type) end 1236 | 1237 | ---检查是否可以以tuner作为调整,场上的卡[或mg]为同调素材对c进行同调召唤手续 1238 | ---如果tuner是nil,此函数与Card.IsSpecialSummonable作用相同 1239 | ---@return boolean 1240 | ---@param c Card 1241 | ---@param tuner Card|nil 1242 | ---@param mg? Group 1243 | function Card.IsSynchroSummonable(c,tuner,mg) end 1244 | 1245 | ---检查是否可以在场上的卡[或mg][中选出 min-max 个XYZ素材]对c进行XYZ召唤手续 1246 | ---如果mg为nil,此函数与 c:IsSpecialSummonable(SUMMON_TYPE_XYZ)作用相同 1247 | ---@return boolean 1248 | ---@param c Card 1249 | ---@param mg Group|nil 1250 | ---@param min? integer default: 0 1251 | ---@param max? integer default: 0 1252 | function Card.IsXyzSummonable(c,mg,min,max) end 1253 | 1254 | ---检查是否可以在场上的卡[或mg][中选出 min-max 个连接素材]对c进行连接召唤手续 1255 | ---如果mg为nil,此函数与 c:IsSpecialSummonable(SUMMON_TYPE_LINK)作用相同 1256 | ---@return boolean 1257 | ---@param c Card 1258 | ---@param mg Group|nil 1259 | ---@param min? integer default: 0 1260 | ---@param max? integer default: 0 1261 | function Card.IsLinkSummonable(c,mg,min,max) end 1262 | 1263 | ---检查c是否可以进行通常召唤(不包含通常召唤的set),ignore_count=true则不检查召唤次数限制 1264 | ---e~=nil则检查c是否可以以效果e进行通常召唤,min表示至少需要的祭品数(用于区分妥协召唤与上级召唤),zone 表示必须要召唤到的区域 1265 | ---@return boolean 1266 | ---@param c Card 1267 | ---@param ignore_count boolean 1268 | ---@param e Effect|nil 1269 | ---@param min? integer default: 0 1270 | ---@param zone? integer default: 0x1f 1271 | function Card.IsSummonable(c,ignore_count,e,min,zone) end 1272 | 1273 | ---检查c是否可进行通常召唤的set,ignore_count=true则不检查召唤次数限制 1274 | ---e~=nil则检查c是否可以以效果e进行通常召唤的set,min表示至少需要的祭品数(用于区分妥协召唤set与上级召唤set),zone 表示必须要放置到的区域 1275 | ---@return boolean 1276 | ---@param c Card 1277 | ---@param ignore_count boolean 1278 | ---@param e Effect|nil 1279 | ---@param min? integer default: 0 1280 | ---@param zone? integer default: 0x1f 1281 | function Card.IsMSetable(c,ignore_count,e,min,zone) end 1282 | 1283 | ---检查c是否可以set到魔法陷阱区,ignore_field=true则无视魔陷区格子是否能使用的限制 1284 | ---@return boolean 1285 | ---@param c Card 1286 | ---@param ignore_field? boolean default: false 1287 | function Card.IsSSetable(c,ignore_field) end 1288 | 1289 | ---检查c是否可以被玩家sumplayer用效果e[以sumtype方式和sumpos表示形式]特殊召唤[到玩家 toplayer 的区域zone] 1290 | ---如果nocheck是true则不检查c的召唤条件,如果nolimit是true则不检查c的苏生限制 1291 | ---@return boolean 1292 | ---@param c Card 1293 | ---@param e Effect 1294 | ---@param sumtype integer 1295 | ---@param sumplayer integer 1296 | ---@param nocheck boolean 1297 | ---@param nolimit boolean 1298 | ---@param sumpos? integer default: POS_FACEUP 1299 | ---@param toplayer? integer default: sumplayer 1300 | ---@param zone? integer default: 0xff 1301 | function Card.IsCanBeSpecialSummoned(c,e,sumtype,sumplayer,nocheck,nolimit,sumpos,toplayer,zone) end 1302 | 1303 | ---检查c是否可以送去手卡 1304 | ---注:仅当卡片或者玩家受到“不能加入手卡”的效果的影响时(如雷王)此函数才返回false 1305 | ---##以下几个函数类似 1306 | ---@return boolean 1307 | ---@param c Card 1308 | function Card.IsAbleToHand(c) end 1309 | 1310 | ---检查c是否可以送去卡组 1311 | ---@return boolean 1312 | ---@param c Card 1313 | function Card.IsAbleToDeck(c) end 1314 | 1315 | ---检查c是否可以送去额外卡组 1316 | ---对于非融合、同调等额外怪兽或者非灵摆怪兽此函数均返回false 1317 | ---@return boolean 1318 | ---@param c Card 1319 | function Card.IsAbleToExtra(c) end 1320 | 1321 | ---检查c是否可以送去墓地 1322 | ---@return boolean 1323 | ---@param c Card 1324 | function Card.IsAbleToGrave(c) end 1325 | 1326 | ---检查c是否可以被玩家player除外 1327 | ---@return boolean 1328 | ---@param c Card 1329 | ---@param player? integer 1330 | ---@param pos? integer 1331 | ---@param reason? integer 1332 | function Card.IsAbleToRemove(c,player,pos,reason) end 1333 | 1334 | ---检查c是否可以作为cost送去手卡 1335 | ---注:此函数会在Card.IsAbleToHand的基础上追加检测c的实际目的地 1336 | ---当c送往手卡会被送去其它地方时(如缩退回路适用中,或者c是融合、同调 等额外怪兽的一种),此函数返回false 1337 | ---##以下几个函数类似 1338 | ---@return boolean 1339 | ---@param c Card 1340 | function Card.IsAbleToHandAsCost(c) end 1341 | 1342 | ---检查c是否可以作为cost送去卡组 1343 | ---@return boolean 1344 | ---@param c Card 1345 | function Card.IsAbleToDeckAsCost(c) end 1346 | 1347 | ---检查c是否可以作为cost送去额外卡组,主卡组的灵摆卡会返回false 1348 | ---@return boolean 1349 | ---@param c Card 1350 | function Card.IsAbleToExtraAsCost(c) end 1351 | 1352 | ---检查c是否可以作为cost送去卡组或额外卡组(用于新宇侠、剑斗兽融合怪兽的召唤手续检测)等价于 (c:IsAbleToDeckAsCost() or c:IsAbleToExtraAsCost()) 1353 | ---@return boolean 1354 | ---@param c Card 1355 | function Card.IsAbleToDeckOrExtraAsCost(c) end 1356 | 1357 | ---检查c是否可以作为cost送去墓地 1358 | ---@return boolean 1359 | ---@param c Card 1360 | function Card.IsAbleToGraveAsCost(c) end 1361 | 1362 | ---检查c是否可以作为cost除外 1363 | ---@return boolean 1364 | ---@param c Card 1365 | function Card.IsAbleToRemoveAsCost(c) end 1366 | 1367 | ---检查c是否可以被以原因reason解放(非上级召唤用) 1368 | ---@return boolean 1369 | ---@param c Card 1370 | ---@param reason? integer default: REASON_COST 1371 | function Card.IsReleasable(c,reason) end 1372 | 1373 | ---检查c是否可以被效果解放 1374 | ---@return boolean 1375 | ---@param c Card 1376 | function Card.IsReleasableByEffect(c) end 1377 | 1378 | ---检查c是否可以以reason原因丢弃 1379 | ---注:此函数仅用于检测, 1380 | ---以REASON_DISCARD作为原因把一张手卡送墓并不会导致那张卡不能丢弃 1381 | ---@return boolean 1382 | ---@param c Card 1383 | ---@param reason? integer default: REASON_COST 1384 | function Card.IsDiscardable(c,reason) end 1385 | 1386 | ---检查c是否可以攻击 1387 | ---@return boolean 1388 | ---@param c Card 1389 | function Card.IsAttackable(c) end 1390 | 1391 | ---检查c是否可以连续攻击,c的攻击宣言次数>=ac则返回false 1392 | ---monsteronly = true 则表示只能对怪兽攻击 1393 | ---注:当c因为闪光之双剑等效果进行过多次攻击之后此函数返回false 1394 | ---@return boolean 1395 | ---@param c Card 1396 | ---@param ac? integer 1397 | ---@param monsteronly? boolean 1398 | function Card.IsChainAttackable(c,ac,monsteronly) end 1399 | 1400 | ---检查c是否是表侧表示 1401 | ---@return boolean 1402 | ---@param c Card 1403 | function Card.IsFaceup(c) end 1404 | 1405 | ---检查c是否是表侧表示,在手卡墓地主卡组等处始终返回true 1406 | ---@return boolean 1407 | ---@param c Card 1408 | function Card.IsFaceupEx(c) end 1409 | 1410 | ---检查c是否是攻击表示 1411 | ---@return boolean 1412 | ---@param c Card 1413 | function Card.IsAttackPos(c) end 1414 | 1415 | ---检查c是否是里侧表示 1416 | ---@return boolean 1417 | ---@param c Card 1418 | function Card.IsFacedown(c) end 1419 | 1420 | ---检查c是否是守备表示 1421 | ---@return boolean 1422 | ---@param c Card 1423 | function Card.IsDefensePos(c) end 1424 | 1425 | ---检查c是否是表示形式pos 1426 | ---@return boolean 1427 | ---@param c Card 1428 | ---@param pos integer 1429 | function Card.IsPosition(c,pos) end 1430 | 1431 | ---检查c位置变化之前是否是表示形式pos 1432 | ---@return boolean 1433 | ---@param c Card 1434 | ---@param pos integer 1435 | function Card.IsPreviousPosition(c,pos) end 1436 | 1437 | ---检查c的当前控制着是否是controler 1438 | ---@return boolean 1439 | ---@param c Card 1440 | ---@param controler integer 1441 | function Card.IsControler(c,controler) end 1442 | 1443 | ---检查c的上一个控制者是否为player 1444 | ---@return boolean 1445 | ---@param c Card 1446 | ---@param player integer 1447 | function Card.IsPreviousControler(c,player) end 1448 | 1449 | ---检查c是否在场 1450 | ---注:当怪兽召唤,反转召唤,特殊召唤时召唤成功之前,此函数返回false 1451 | ---@return boolean 1452 | ---@param c Card 1453 | function Card.IsOnField(c) end 1454 | 1455 | ---检查c当前位置是否是location 1456 | ---注:当怪兽召唤,反转召唤,特殊召唤时召唤成功之前, 1457 | ---并且location=LOCATION_MZONE时,此函数返回false 1458 | ---@return boolean 1459 | ---@param c Card 1460 | ---@param location integer 1461 | function Card.IsLocation(c,location) end 1462 | 1463 | ---检查c之前的位置是否是location 1464 | ---@return boolean 1465 | ---@param c Card 1466 | ---@param location integer 1467 | function Card.IsPreviousLocation(c,location) end 1468 | 1469 | ---检查c是否是等级level以下(至少为1) 1470 | ---@return boolean 1471 | ---@param c Card 1472 | ---@param level integer 1473 | function Card.IsLevelBelow(c,level) end 1474 | 1475 | ---检查c是否是等级level以上 1476 | ---@return boolean 1477 | ---@param c Card 1478 | ---@param level integer 1479 | function Card.IsLevelAbove(c,level) end 1480 | 1481 | ---检查c是否是阶级rank以下(至少为1) 1482 | ---@return boolean 1483 | ---@param c Card 1484 | ---@param rank integer 1485 | function Card.IsRankBelow(c,rank) end 1486 | 1487 | ---检查c是否是阶级rank以上 1488 | ---@return boolean 1489 | ---@param c Card 1490 | ---@param rank integer 1491 | function Card.IsRankAbove(c,rank) end 1492 | 1493 | ---检查c是否连接标记数量是link以下(至少为1) 1494 | ---@return boolean 1495 | ---@param c Card 1496 | ---@param link integer 1497 | function Card.IsLinkBelow(c,link) end 1498 | 1499 | ---检查c是否连接标记数量是link以上 1500 | ---@return boolean 1501 | ---@param c Card 1502 | ---@param link integer 1503 | function Card.IsLinkAbove(c,link) end 1504 | 1505 | ---检查c是否是攻击力atk以下(至少为0) 1506 | ---@return boolean 1507 | ---@param c Card 1508 | ---@param atk integer 1509 | function Card.IsAttackBelow(c,atk) end 1510 | 1511 | ---检查c是否是攻击力atk以上 1512 | ---@return boolean 1513 | ---@param c Card 1514 | ---@param atk integer 1515 | function Card.IsAttackAbove(c,atk) end 1516 | 1517 | ---检查c是否是守备力def以下(至少为0) 1518 | ---@return boolean 1519 | ---@param c Card 1520 | ---@param def integer 1521 | function Card.IsDefenseBelow(c,def) end 1522 | 1523 | ---检查c是否是守备力def以上 1524 | ---@return boolean 1525 | ---@param c Card 1526 | ---@param def integer 1527 | function Card.IsDefenseAbove(c,def) end 1528 | 1529 | ---检查c是否持有等级 1530 | ---@return boolean 1531 | ---@param c Card 1532 | function Card.IsHasLevel(c) end 1533 | 1534 | ---检查c是否持有守备力 1535 | ---@return boolean 1536 | ---@param c Card 1537 | function Card.IsHasDefense(c) end 1538 | 1539 | ---检查c是否处于公开状态 1540 | ---@return boolean 1541 | ---@param c Card 1542 | function Card.IsPublic(c) end 1543 | 1544 | ---检查c是否处于被宣言禁止状态 1545 | ---@return boolean 1546 | ---@param c Card 1547 | function Card.IsForbidden(c) end 1548 | 1549 | ---检查c是否可以改变控制权 1550 | ---注:仅当卡收到了“不能改变控制权”的效果的影响时,此函数返回false 1551 | ---@return boolean 1552 | ---@param c Card 1553 | function Card.IsAbleToChangeControler(c) end 1554 | 1555 | ---检查c的控制权是否可以改变。 1556 | ---ignore_mzone=true 会忽视转移控制权后的玩家场上是否有空格位, zone 表示必须要使用的位置 1557 | ---@return boolean 1558 | ---@param c Card 1559 | ---@param ignore_mzone? boolean default: false 1560 | ---@param zone? integer default: 0xff 1561 | function Card.IsControlerCanBeChanged(c,ignore_mzone,zone) end 1562 | 1563 | ---为c放置count个countertype类型的指示物,singly为true表示逐个添加至上限为止 1564 | ---@return boolean 1565 | ---@param c Card 1566 | ---@param countertype integer 1567 | ---@param count integer 1568 | ---@param singly? integer default: false 1569 | function Card.AddCounter(c,countertype,count,singly) end 1570 | 1571 | ---让玩家player以原因reason移除c上的count个countertype类型的指示物, countertype=0 则清除c的所有指示物 1572 | ---@param c Card 1573 | ---@param player integer 1574 | ---@param countertype integer 1575 | ---@param count integer 1576 | ---@param reason integer 1577 | function Card.RemoveCounter(c,player,countertype,count,reason) end 1578 | 1579 | ---返回c上的countertype类型的指示物的数量, countertype=0 则返回c上所有类型的指示物数量之和 1580 | ---@return integer 1581 | ---@param c Card 1582 | ---@param countertype integer 1583 | function Card.GetCounter(c,countertype) end 1584 | 1585 | ---允许c[在位置location,满足条件condition]放置那个需要“可以放置”才能放置的指示物countertype 1586 | ---(location的默认值与c的种类有关,灵摆怪兽需要指定能否在怪兽区域或灵摆区域放置指示物) 1587 | ---@param c Card 1588 | ---@param countertype integer 1589 | ---@param location? integer 1590 | ---@param condition? function 1591 | function Card.EnableCounterPermit(c,countertype,location,condition) end 1592 | 1593 | ---设定c放置countertype类型指示物的上限 1594 | ---@param c Card 1595 | ---@param countertype integer 1596 | ---@param count integer 1597 | function Card.SetCounterLimit(c,countertype,count) end 1598 | 1599 | ---检查c是否可以用效果改变表示形式 1600 | ---@return boolean 1601 | ---@param c Card 1602 | function Card.IsCanChangePosition(c) end 1603 | 1604 | ---检查c是否可以转成里侧表示 1605 | ---@return boolean 1606 | ---@param c Card 1607 | function Card.IsCanTurnSet(c) end 1608 | 1609 | ---检查c是否可以[逐个(singly=true)在 location 区域]放置count个countertype类型的指示物 1610 | ---@return boolean 1611 | ---@param c Card 1612 | ---@param countertype integer 1613 | ---@param count integer 1614 | ---@param singly? integer default: false 1615 | ---@param location? integer 1616 | function Card.IsCanAddCounter(c,countertype,count,singly,location) end 1617 | 1618 | ---检查玩家player是否可以以原因reason移除c上的count个countertype类型的指示物 1619 | ---@return boolean 1620 | ---@param c Card 1621 | ---@param player integer 1622 | ---@param countertype integer 1623 | ---@param count integer 1624 | ---@param reason integer 1625 | function Card.IsCanRemoveCounter(c,player,countertype,count,reason) end 1626 | 1627 | ---检查c上是否可以放置countertype类型的指示物 1628 | ---@return boolean 1629 | ---@param c Card 1630 | ---@param countertype integer 1631 | function Card.IsCanHaveCounter(c,countertype) end 1632 | 1633 | ---检查c是否可以作为XYZ素材 1634 | ---@return boolean 1635 | ---@param c Card 1636 | ---@param player? integer 1637 | function Card.IsCanOverlay(c,player) end 1638 | 1639 | ---检查c是否可以成为[融合怪兽fc的]融合素材 1640 | ---@return boolean 1641 | ---@param c Card 1642 | ---@param fc? Card 1643 | function Card.IsCanBeFusionMaterial(c,fc) end 1644 | 1645 | ---检查c是否可以成为[以 tuner 为调整的同调怪兽sc的]同调素材 1646 | ---@return boolean 1647 | ---@param c Card 1648 | ---@param sc? Card 1649 | ---@param tuner? Card 1650 | function Card.IsCanBeSynchroMaterial(c,sc,tuner) end 1651 | 1652 | ---检查c是否可以作为[仪式怪兽sc的]仪式素材,没有指定sc的场合,必须填nil 1653 | ---@return boolean 1654 | ---@param c Card 1655 | ---@param sc Card|nil 1656 | function Card.IsCanBeRitualMaterial(c,sc) end 1657 | 1658 | ---检查c是否可以成为[XYZ怪兽sc的]XYZ素材,没有指定sc的场合,必须填nil 1659 | ---@return boolean 1660 | ---@param c Card 1661 | ---@param sc Card|nil 1662 | function Card.IsCanBeXyzMaterial(c,sc) end 1663 | 1664 | ---检查c是否可以成为[连接怪兽sc的]连接素材,没有指定sc的场合,必须填nil 1665 | ---@return boolean 1666 | ---@param c Card 1667 | ---@param sc Card|nil 1668 | function Card.IsCanBeLinkMaterial(c,sc) end 1669 | 1670 | ---检查场上[或g]是否包含了c需要[必须包含gc在内]的一组融合素材 1671 | ---##根据c的种类为EFFECT_FUSION_MATERIAL的效果的Condition函数检查 1672 | ---@return boolean 1673 | ---@param c Card 1674 | ---@param g? Group|nil 1675 | ---@param gc? Card|nil 1676 | ---@param chkf? integer default: PLAYER_NONE 1677 | ---@param not_material? boolean default: false 1678 | function Card.CheckFusionMaterial(c,g,gc,chkf,not_material) end 1679 | 1680 | ---检查c能否代替融合怪兽fc的记述卡名的素材 1681 | ---@return boolean 1682 | ---@param c Card 1683 | ---@param fc Card 1684 | function Card.CheckFusionSubstitute(c,fc) end 1685 | 1686 | ---检查c是否免疫效果e(即不受效果e的影响) 1687 | ---@return boolean 1688 | ---@param c Card 1689 | ---@param e Effect 1690 | function Card.IsImmuneToEffect(c,e) end 1691 | 1692 | ---检查c的效果是否能被e无效。 1693 | ---已经被无效的卡,或原本就没有效果的卡,或不受e影响的卡不能被无效。 1694 | ---第三个参数可选,指示其是否为怪兽效果。 1695 | ---@return boolean 1696 | ---@param c Card 1697 | ---@param e Effect 1698 | ---@param isMonsterEffect? boolean 1699 | function Card.IsCanBeDisabledByEffect(c,e,isMonsterEffect) end 1700 | 1701 | ---检查c是否可以成为效果[e的]对象 1702 | ---@return boolean 1703 | ---@param c Card 1704 | ---@param e? Effect 1705 | function Card.IsCanBeEffectTarget(c,e) end 1706 | 1707 | ---检查c1是否可以成为c2的攻击目标 1708 | ---@return boolean 1709 | ---@param c1 Card 1710 | ---@param c2 Card 1711 | function Card.IsCanBeBattleTarget(c1,c2) end 1712 | 1713 | ---为魔陷卡c添加怪兽数值,type 为怪兽类型,不能是没有等级的怪兽 1714 | ---注:在数据库中有记录的数值视为原本数值 1715 | ---@param c Card 1716 | ---@param type integer 1717 | ---@param attribute? integer 1718 | ---@param race? integer 1719 | ---@param level? integer 1720 | ---@param atk? integer 1721 | ---@param def? integer 1722 | function Card.AddMonsterAttribute(c,type,attribute,race,level,atk,def) end 1723 | 1724 | ---取消送墓确定状态,cancel=false则重新设置送墓确定状态 1725 | ---注:送墓确定状态指的是在场上发动的不留场的魔法和陷阱后,这些卡片的状态 1726 | ---送墓确定状态中的卡无法返回手卡和卡组,并且连锁结束时送去墓地 1727 | ---此函数的作用是取消此状态使其留场,用于光之护封剑和废铁稻草人等卡 1728 | ---@param c Card 1729 | ---@param cancel? boolean default: true 1730 | function Card.CancelToGrave(c,cancel) end 1731 | 1732 | ---返回通常召唤c所需要的祭品的最小和最大数量 1733 | ---@return integer 1734 | ---@return integer 1735 | ---@param c Card 1736 | function Card.GetTributeRequirement(c) end 1737 | 1738 | ---返回与c进行战斗的卡,没有则返回nil 1739 | ---@return Card 1740 | ---@param c Card 1741 | function Card.GetBattleTarget(c) end 1742 | 1743 | ---返回c可攻击的卡片组以及能否直接攻击 1744 | ---@return Group 1745 | ---@return boolean 1746 | ---@param c Card 1747 | function Card.GetAttackableTarget(c) end 1748 | 1749 | ---为c设置类型为type的卡片提示信息 1750 | ---type只能为以下值,对应的value类型为 1751 | ---CHINT_TURN 回合数 1752 | ---CHINT_CARD 卡片id 1753 | ---CHINT_RACE 种族 1754 | ---CHINT_ATTRIBUTE 属性 1755 | ---CHINT_NUMBER 数字 1756 | ---CHINT_DESC 描述 1757 | ---@param c Card 1758 | ---@param type integer 1759 | ---@param value integer 1760 | function Card.SetHint(c,type,value) end 1761 | 1762 | ---设置c在卡组中正面表示(POS_FACEUP_DEFENSE) 1763 | ---@param c Card 1764 | function Card.ReverseInDeck(c) end 1765 | 1766 | ---设置c以unique_code只能在场上[或怪兽区域或魔陷区域,由unique_location决定]只能存在1张,function 的返回值类型必须是int 1767 | ---s不为0会检查自己场上的唯一性,o不为0则检查对方场上的唯一性 1768 | ---@param c Card 1769 | ---@param s integer 1770 | ---@param o integer 1771 | ---@param unique_code function|integer 1772 | ---@param unique_location? integer default: LOCATIOIN_ONFIELD 1773 | function Card.SetUniqueOnField(c,s,o,unique_code,unique_location) end 1774 | 1775 | ---检查c在check_player场上的唯一性 1776 | ---@return boolean 1777 | ---@param c Card 1778 | ---@param check_player integer 1779 | ---@param check_location? integer default: LOCATION_ONFIELD 1780 | ---@param icard? Card|nil 1781 | function Card.CheckUniqueOnField(c,check_player,check_location,icard) end 1782 | 1783 | ---重置c受到的卡号为code1[, code2...]的卡片的效果的影响 1784 | ---@param c Card 1785 | ---@param code1? integer 1786 | ---@param ...? any 1787 | function Card.ResetNegateEffect(c,code1,...) end 1788 | 1789 | ---把c的assume_type的数值当作assume_value使用(基因组斗士) 1790 | ---@param c Card 1791 | ---@param assume_type integer 1792 | ---@param assume_value integer 1793 | function Card.AssumeProperty(c,assume_type,assume_value) end 1794 | 1795 | ---设置c一回合只能进行1次特殊召唤(灵兽,波动龙) 1796 | ---相同的spsummon_code共用1个次数 1797 | ---@param c Card 1798 | ---@param spsummon_code integer 1799 | function Card.SetSPSummonOnce(c,spsummon_code) end 1800 | 1801 | ---设置全局标记global_flag 1802 | ---@param global_flag integer 1803 | function Duel.EnableGlobalFlag(global_flag) end 1804 | 1805 | ---返回玩家player的当前LP 1806 | ---@return integer 1807 | ---@param player integer 1808 | function Duel.GetLP(player) end 1809 | 1810 | ---设置玩家player的当前LP为lp 1811 | ---@param player integer 1812 | ---@param lp integer 1813 | function Duel.SetLP(player,lp) end 1814 | 1815 | ---返回当前的回合玩家是否为playerid 1816 | ---@return boolean 1817 | ---@param playerid integer 1818 | function Duel.IsTurnPlayer(playerid) end 1819 | 1820 | ---返回当前的回合玩家 1821 | ---@return integer 1822 | function Duel.GetTurnPlayer() end 1823 | 1824 | ---返回[player所经过的]当前的回合数 1825 | ---@return integer 1826 | ---@param player? integer 1827 | function Duel.GetTurnCount(player) end 1828 | 1829 | ---返回玩家player每回合的规则抽卡数量 1830 | ---@return integer 1831 | ---@param player integer 1832 | function Duel.GetDrawCount(player) end 1833 | 1834 | ---把效果e作为玩家player的效果注册给全局环境 1835 | ---@param e Effect 1836 | ---@param player integer 1837 | function Duel.RegisterEffect(e,player) end 1838 | 1839 | ---为玩家player注册全局环境下的标识效果,并返回这个效果 1840 | ---此效果总是影响玩家的(EFFECT_FLAG_PLAYER_TARGET)并且不会被无效化 1841 | ---其余部分与Card.RegisterFlagEffect相同 1842 | ---@return Effect 1843 | ---@param player integer 1844 | ---@param code integer 1845 | ---@param reset_flag integer 1846 | ---@param property integer 1847 | ---@param reset_count integer default: 1 1848 | ---@param label? integer 1849 | function Duel.RegisterFlagEffect(player,code,reset_flag,property,reset_count,label) end 1850 | 1851 | ---返回玩家 player 的 code 标识效果的数量 1852 | ---@return integer 1853 | ---@param player integer 1854 | ---@param code integer 1855 | function Duel.GetFlagEffect(player,code) end 1856 | 1857 | ---手动reset玩家player的 code 标识效果 1858 | ---@param player integer 1859 | ---@param code integer 1860 | function Duel.ResetFlagEffect(player,code) end 1861 | 1862 | ---返回player是否存在种类为code的标识效果,若有则设置第一个的Label属性为label 1863 | ---@return boolean 1864 | ---@param player integer 1865 | ---@param code integer 1866 | ---@param label integer 1867 | function Duel.SetFlagEffectLabel(player,code,label) end 1868 | 1869 | ---返回玩家player的种类为code的每个标识效果的Label,没有此效果则返回nil 1870 | ---@return integer 1871 | ---@return ...? integer 1872 | ---@param player integer 1873 | ---@param code integer 1874 | function Duel.GetFlagEffectLabel(player,code) end 1875 | 1876 | ---以reason原因破坏targets去dest,返回值是实际被破坏的数量 1877 | ---如果reason包含REASON_RULE,则破坏事件将不会检查卡片是否免疫效果, 1878 | ---不会触发代破效果并且无视“不能破坏” 1879 | ---如果设置reason_player,则视为被玩家reason_player移动 1880 | ---@return integer 1881 | ---@param targets Card|Group 1882 | ---@param reason integer 1883 | ---@param dest? integer 1884 | ---@param reason_player? integer 1885 | function Duel.Destroy(targets,reason,dest,reason_player) end 1886 | 1887 | ---以reason原因,pos表示形式除外targets,返回值是实际被操作的数量 1888 | ---如果reason包含REASON_TEMPORARY,那么视为是暂时除外,可以通过Duel.ReturnToField返回到场上 1889 | ---如果设置reason_player,则视为被玩家reason_player移动 1890 | ---@return integer 1891 | ---@param targets Card|Group 1892 | ---@param pos integer 1893 | ---@param reason integer 1894 | ---@param reason_player? integer 1895 | function Duel.Remove(targets,pos,reason,reason_player) end 1896 | 1897 | ---以reason原因把targets送去墓地,返回值是实际被操作的数量 1898 | ---如果设置reason_player,则视为被玩家reason_player移动 1899 | ---@return integer 1900 | ---@param targets Card|Group 1901 | ---@param reason integer 1902 | ---@param reason_player? integer 1903 | function Duel.SendtoGrave(targets,reason,reason_player) end 1904 | 1905 | ---以reason原因把targets送去玩家player的手卡,返回值是实际被操作的数量 1906 | ---如果player是nil则返回卡的持有者的手卡 1907 | ---如果设置reason_player,则视为被玩家reason_player移动 1908 | ---@return integer 1909 | ---@param targets Card|Group 1910 | ---@param player integer|nil 1911 | ---@param reason integer 1912 | ---@param reason_player? integer 1913 | function Duel.SendtoHand(targets,player,reason,reason_player) end 1914 | 1915 | ---以reason原因把targets送去玩家player的卡组,返回值是实际被操作的数量 1916 | ---如果player是nil则返回卡的持有者的卡组 1917 | ---如果seq=0,则是返回卡组最顶端;seq=1则是返回卡组最底端; 1918 | ---其余情况则是返回最顶端并且标记需要洗卡组 1919 | ---如果设置reason_player,则视为被玩家reason_player移动 1920 | ---如果设置send_activating,则可以移动发动中的魔法陷阱卡 1921 | ---@return integer 1922 | ---@param targets Card|Group 1923 | ---@param player integer|nil 1924 | ---@param seq integer 1925 | ---@param reason integer 1926 | ---@param reason_player? integer 1927 | ---@param send_activating? boolean 1928 | function Duel.SendtoDeck(targets,player,seq,reason,reason_player,send_activating) end 1929 | 1930 | ---以reason原因把灵摆卡targets表侧表示送去玩家player的额外卡组,返回值是实际被操作的数量 1931 | ---如果player是nil则返回卡的持有者的额外卡组 1932 | ---@return integer 1933 | ---@param targets Card|Group 1934 | ---@param player integer|nil 1935 | ---@param reason integer 1936 | function Duel.SendtoExtraP(targets,player,reason) end 1937 | 1938 | ---此函数返回之前一次卡片操作实际操作的卡片组。包括 1939 | ---Duel.Destroy, Duel.Remove, Duel.SendtoGrave, 1940 | ---Duel.SendtoHand, Duel.SendtoDeck, Duel.SendtoExtraP, Duel.Release, 1941 | ---Duel.ChangePosition, Duel.SpecialSummon, Duel.DiscardDeck 1942 | ---@return Group 1943 | function Duel.GetOperatedGroup() end 1944 | 1945 | ---让玩家 player 以效果e对c[在区域 zone]进行通常召唤(非set),至少使用min个祭品 1946 | ---如果e=nil,那么就按照一般的通常召唤规则进行通常召唤 1947 | ---如果ignore_count=true,则忽略每回合的通常召唤次数限制 1948 | ---@param player integer 1949 | ---@param c Card 1950 | ---@param ignore_count boolean 1951 | ---@param e Effect|nil 1952 | ---@param min? integer default: 0 1953 | ---@param zone? integer default: 0x1f 1954 | function Duel.Summon(player,c,ignore_count,e,min,zone) end 1955 | 1956 | ---让玩家player对c[用 sumtype 方式]进行特殊召唤手续(?) 1957 | ---@param player integer 1958 | ---@param c Card 1959 | ---@param sumtype? integer default: 0 1960 | function Duel.SpecialSummonRule(player,c,sumtype) end 1961 | 1962 | ---让玩家player以tuner作为调整,场上的卡[或mg]为素材,对c进行同调召唤手续 1963 | ---@param player integer 1964 | ---@param c Card 1965 | ---@param tuner Card|nil 1966 | ---@param mg? Group|nil 1967 | ---@param minc? integer default: 0 1968 | ---@param maxc? integer default: 0 1969 | function Duel.SynchroSummon(player,c,tuner,mg,minc,maxc) end 1970 | 1971 | ---让玩家player用场上的卡[或mg][选min-max个素材]对c进行XYZ召唤手续 1972 | ---mg非空且min为0则直接把mg全部作为XYZ素材 1973 | ---@param player integer 1974 | ---@param c Card 1975 | ---@param mg Group|nil 1976 | ---@param min? integer default: 0 1977 | ---@param max? integer default: 0 1978 | function Duel.XyzSummon(player,c,mg,min,max) end 1979 | 1980 | ---让玩家player以mg[中除lcard以外的最少minc,最多maxc张卡]为素材将pcard连接召唤。 1981 | ---@param player integer 1982 | ---@param pcard Card 1983 | ---@param mg Group|nil 1984 | ---@param lcard? Card 1985 | ---@param minc? integer 1986 | ---@param maxc? integer 1987 | function Duel.LinkSummon(player,pcard,mg,lcard,minc,maxc) end 1988 | 1989 | ---让玩家 player 以效果e对c[在区域 zone]进行通常召唤的Set,至少使用min个祭品 1990 | ---如果e=nil,那么就按照一般的通常召唤规则进行通常召唤 1991 | ---如果ignore_count=true,则忽略每回合的通常召唤次数限制 1992 | ---@param player integer 1993 | ---@param c Card 1994 | ---@param ignore_count boolean 1995 | ---@param e Effect|nil 1996 | ---@param min? integer default: 0 1997 | ---@param zone? integer default: 0x1f 1998 | function Duel.MSet(player,c,ignore_count,e,min,zone) end 1999 | 2000 | ---让玩家player把targets盖放到target_player的魔法陷阱区, confirm 表示是否需要确认 2001 | ---若targets为Group,则返回成功操作的数量 2002 | ---@return integer 2003 | ---@param player integer 2004 | ---@param targets Card|Group 2005 | ---@param target_player? integer default: player 2006 | ---@param confirm? boolean default: true 2007 | function Duel.SSet(player,targets,target_player,confirm) end 2008 | 2009 | ---根据code新建一个衍生物并返回,该衍生物的拥有者为player 2010 | ---@return Card 2011 | ---@param player integer 2012 | ---@param code integer 2013 | function Duel.CreateToken(player,code) end 2014 | 2015 | ---让玩家 sumplayer 以sumtype方式,pos表示形式把targets特殊召唤到target_player场上[的区域 zone] 2016 | ---如果nocheck为true则无视卡的召唤条件,如果nolimit为true则无视卡的苏生限制 2017 | ---返回值是特殊召唤成功的卡的数量 2018 | ---@return integer 2019 | ---@param targets Card|Group 2020 | ---@param sumtype integer 2021 | ---@param sumplayer integer 2022 | ---@param target_player integer 2023 | ---@param nocheck boolean 2024 | ---@param nolimit boolean 2025 | ---@param pos integer 2026 | ---@param zone? integer default: 0xff 2027 | function Duel.SpecialSummon(targets,sumtype,sumplayer,target_player,nocheck,nolimit,pos,zone) end 2028 | 2029 | ---此函数是Duel.SpecialSummon的分解过程,只特殊召唤一张卡c ,其他参数用法和 Duel.SpecialSummon 一样 2030 | ---此函数用于一个效果同时特殊召唤多张参数不同的卡 2031 | ---此函数必须和Duel.SpecialSummonComplete一起使用 2032 | ---返回值表示是否特殊召唤成功 2033 | ---@return boolean 2034 | ---@param c Card 2035 | ---@param sumtype integer 2036 | ---@param sumplayer integer 2037 | ---@param target_player integer 2038 | ---@param nocheck boolean 2039 | ---@param nolimit boolean 2040 | ---@param pos integer 2041 | ---@param zone? integer default: 0xff 2042 | function Duel.SpecialSummonStep(c,sumtype,sumplayer,target_player,nocheck,nolimit,pos,zone) end 2043 | 2044 | ---此函数在确定复数个Duel.SpecialSummonStep调用完毕之后调用,用于触发事件 2045 | ---@return nil|integer 2046 | function Duel.SpecialSummonComplete() end 2047 | 2048 | ---检查玩家player能否向卡片c添加count个countertype类型的指示物,如果 player 不是 0或者1,则返回false 2049 | ---@return boolean 2050 | ---@param player integer 2051 | ---@param countertype? integer 2052 | ---@param count? integer 2053 | ---@param c? Card 2054 | function Duel.IsCanAddCounter(player,countertype,count,c) end 2055 | 2056 | ---让玩家player以reason为原因移除场上存在的countertype类型的count个指示物,返回值表示是否成功 2057 | ---s表示对player来说的己方的可移除指示物的位置,o表示对player来说的对方的可移除指示物的位置 2058 | ---@return boolean 2059 | ---@param player integer 2060 | ---@param s integer 2061 | ---@param o integer 2062 | ---@param countertype integer 2063 | ---@param count integer 2064 | ---@param reason integer 2065 | function Duel.RemoveCounter(player,s,o,countertype,count,reason) end 2066 | 2067 | ---检查玩家player以reason为原因是否能移除场上的countertype类型的count个指示物 2068 | ---s表示对player来说的己方的可移除指示物的位置,o表示对player来说的对方的可移除指示物的位置 2069 | ---@return boolean 2070 | ---@param player integer 2071 | ---@param s integer 2072 | ---@param o integer 2073 | ---@param countertype integer 2074 | ---@param count integer 2075 | ---@param reason integer 2076 | function Duel.IsCanRemoveCounter(player,s,o,countertype,count,reason) end 2077 | 2078 | ---返回场上存在的countertype类型的指示物的数量 2079 | ---s表示对player来说的己方的可移除指示物的位置,o表示对player来说的对方的可移除指示物的位置 2080 | ---@return integer 2081 | ---@param player integer 2082 | ---@param s integer 2083 | ---@param o integer 2084 | ---@param countertype integer 2085 | function Duel.GetCounter(player,s,o,countertype) end 2086 | 2087 | ---改变targets的表示形式返回实际操作的数量,若只有2个参数,则不管什么表示形式,都变成 第二个参数 代表的形式 2088 | ---表侧攻击表示 = au 2089 | ---里侧攻击表示 = ad 2090 | ---表侧守备表示 = du 2091 | ---里侧守备表示 = dd 2092 | ---如果noflip=true则不触发反转效果(但会触发反转时的诱发效果) 2093 | ---如果setavailable=true则对象之后变成里侧也发动反转效果 2094 | ---@return integer 2095 | ---@param targets Card|Group 2096 | ---@param au integer 2097 | ---@param ad? integer default: au 2098 | ---@param du? integer default: au 2099 | ---@param dd? integer default: au 2100 | ---@param noflip? boolean default: false 2101 | ---@param setavailable? boolean default: false 2102 | function Duel.ChangePosition(targets,au,ad,du,dd,noflip,setavailable) end 2103 | 2104 | ---以reason原因解放targets ,返回值是实际解放的数量 2105 | ---如果reason含有REASON_COST,则不会检查卡片是否不受效果影响 2106 | ---如果设置reason_player,则视为被玩家reason_player移动 2107 | ---@return integer 2108 | ---@param targets Card|Group 2109 | ---@param reason integer 2110 | ---@param reason_player? integer 2111 | function Duel.Release(targets,reason,reason_player) end 2112 | 2113 | ---让玩家move_player把c移动的target_player的场上,返回值表示是否成功 2114 | ---dest只能是LOCATION_MZONE或者LOCATION_SZONE,pos表示可选表示形式, enable 表示是否立刻适用c的效果 2115 | ---@return boolean 2116 | ---@param c Card 2117 | ---@param move_player integer 2118 | ---@param target_player integer 2119 | ---@param dest integer 2120 | ---@param pos integer 2121 | ---@param enable boolean 2122 | ---@param zone? integer 2123 | function Duel.MoveToField(c,move_player,target_player,dest,pos,enable,zone) end 2124 | 2125 | ---把c以表示形式pos返回到场上[的区域 zone],pos默认值是离场前的表示形式,返回值表示是否成功 2126 | ---c必须是以REASON_TEMPORARY原因离场,并且离场后没有离开过那个位置 2127 | ---@return boolean 2128 | ---@param c Card 2129 | ---@param pos? integer 2130 | ---@param zone? integer default: 0xff 2131 | function Duel.ReturnToField(c,pos,zone) end 2132 | 2133 | ---移动c的序号,通常用于在场上换格子或者在卡组中移动到最上方或者最下方 2134 | ---@param c Card 2135 | ---@param seq integer 2136 | function Duel.MoveSequence(c,seq) end 2137 | 2138 | ---交换c1和c2的位置 2139 | ---@param c1 Card 2140 | ---@param c2 Card 2141 | function Duel.SwapSequence(c1,c2) end 2142 | 2143 | ---发动效果e(?) 2144 | ---@param e Effect 2145 | function Duel.Activate(e) end 2146 | 2147 | ---设定连锁条件,f的函数原型为 bool f(e,ep,tp) 2148 | ---e表示要限制连锁的效果,ep表示要限制连锁的玩家,tp表示发动该效果的玩家 2149 | ---在cost或者target处理中调用此函数可以限制可以连锁的效果的种类(如超融合) 2150 | ---如果f返回false表示不能连锁,一旦设置连锁条件后发生了新的连锁那么连锁条件将会解除 2151 | ---@param f function 2152 | function Duel.SetChainLimit(f) end 2153 | 2154 | ---功能同Duel.SetChainLimit,但是此函数设定的连锁条件直到连锁结束才会解除 2155 | ---@param f function 2156 | function Duel.SetChainLimitTillChainEnd(f) end 2157 | 2158 | ---返回玩家player受到的连锁素材的效果,此函数仅用于融合类卡的效果 2159 | ---@return Effect|nil 2160 | ---@param player integer 2161 | function Duel.GetChainMaterial(player) end 2162 | 2163 | ---确认玩家player卡组最上方count张卡 2164 | ---@param player integer 2165 | ---@param count integer 2166 | function Duel.ConfirmDecktop(player,count) end 2167 | 2168 | ---确认玩家player额外卡组里侧的卡 最上方count张卡 2169 | ---@param player integer 2170 | ---@param count integer 2171 | function Duel.ConfirmExtratop(player,count) end 2172 | 2173 | ---给玩家player确认targets 2174 | ---@param player integer 2175 | ---@param targets Card|Group 2176 | ---@param skip_panel? boolean default: false 2177 | function Duel.ConfirmCards(player,targets,skip_panel) end 2178 | 2179 | ---让玩家sort_player对玩家target_player的卡组最上方count张卡进行排序,最先选的卡在最上面,然后下面是第二张选择的卡,以此类推 2180 | ---最多只能排序16张卡 2181 | ---@param sort_player integer 2182 | ---@param target_player integer 2183 | ---@param count integer 2184 | function Duel.SortDecktop(sort_player,target_player,count) end 2185 | 2186 | ---检查当前是否是event时点 2187 | ---若get_info=true并且是正确的时点,则还返回触发时点的信息 eg,ep,ev,re,r,rp 2188 | ---@return boolean 2189 | ---@return Group 可能为空 2190 | ---@return integer 可能为空 2191 | ---@return integer 可能为空 2192 | ---@return Effect 可能为空 2193 | ---@return integer 可能为空 2194 | ---@return integer 可能为空 2195 | ---@param event integer 2196 | ---@param get_info? boolean 2197 | function Duel.CheckEvent(event,get_info) end 2198 | 2199 | ---以eg,ep,ev,re,r,rp触发一个时点 code 2200 | ---@param eg Group|Card 2201 | ---@param code integer 2202 | ---@param re Effect 2203 | ---@param r integer 2204 | ---@param rp integer 2205 | ---@param ep integer 2206 | ---@param ev integer 2207 | function Duel.RaiseEvent(eg,code,re,r,rp,ep,ev) end 2208 | 2209 | ---以eg,ep,ev,re,r,rp为卡片ec触发一个单体时点 code 2210 | ---@param ec Card 2211 | ---@param code integer 2212 | ---@param re Effect 2213 | ---@param r integer 2214 | ---@param rp integer 2215 | ---@param ep integer 2216 | ---@param ev integer 2217 | function Duel.RaiseSingleEvent(ec,code,re,r,rp,ep,ev) end 2218 | 2219 | ---检查当前是否是timing提示时点 2220 | ---@return boolean 2221 | ---@param timing integer 2222 | function Duel.CheckTiming(timing) end 2223 | 2224 | ---检查场地卡号是否是code [,来源玩家是否是 player][,生效区域是否在 loc 内] 2225 | ---场地卡号指当前生效的场地卡的卡号,或者海神的巫女把场地变化效果的值 2226 | ---来源玩家指当前生效的场地卡的控制者,或者海神的巫女等卡的控制者 2227 | ---@return boolean 2228 | ---@param code integer 2229 | ---@param player? integer default: PLAYER_ALL 2230 | ---@param loc? integer default: LOCATION_ONFIELD 2231 | function Duel.IsEnvironment(code,player,loc) end 2232 | 2233 | ---当前效果处理完令player以win_reason决斗胜利 2234 | ---@param player integer 2235 | ---@param win_reason integer 2236 | function Duel.Win(player,win_reason) end 2237 | 2238 | ---让玩家player以原因reason抽count张卡,返回实际抽的卡的数量 2239 | ---如果reason含有REASON_RULE则此次抽卡不受“不能抽卡”的效果的影响 2240 | ---@return integer 2241 | ---@param player integer 2242 | ---@param count integer 2243 | ---@param reason integer 2244 | function Duel.Draw(player,count,reason) end 2245 | 2246 | ---以reason原因给与玩家player造成value的伤害,返回实际收到的伤害值 2247 | ---如果受到伤害变成回复等效果的影响时,返回值为0. 2248 | ---is_step为true则是伤害/恢复LP过程的分解,需要调用Duel.RDComplete()触发时点 2249 | ---@return integer 2250 | ---@param player integer 2251 | ---@param value integer 2252 | ---@param reason integer 2253 | ---@param is_step? boolean default: false 2254 | function Duel.Damage(player,value,reason,is_step) end 2255 | 2256 | ---以reason原因使玩家player回复value的LP,返回实际的回复值 2257 | ---如果受到回复变成伤害等效果的影响时,返回值为0. 2258 | ---is_step为true则是伤害/恢复LP过程的分解,需要调用Duel.RDComplete()触发时点 2259 | ---@return integer 2260 | ---@param player integer 2261 | ---@param value integer 2262 | ---@param reason integer 2263 | ---@param is_step? boolean default: false 2264 | function Duel.Recover(player,value,reason,is_step) end 2265 | 2266 | ---在调用Duel.Damage/Duel.Recover时,若is_step参数为true,则需调用此函数触发时点 2267 | function Duel.RDComplete() end 2268 | 2269 | ---把c1作为玩家player的装备卡装备给c2,返回值表示是否成功 2270 | ---up=false则保持装备卡之前的表示形式 2271 | ---is_step=true则是装备过程的分解,需要配合Duel.EquipComplete使用 2272 | ---@return boolean 2273 | ---@param player integer 2274 | ---@param c1 Card 2275 | ---@param c2 Card 2276 | ---@param up? boolean default: true 2277 | ---@param is_step? boolean default: false 2278 | function Duel.Equip(player,c1,c2,up,is_step) end 2279 | 2280 | ---在调用Duel.Equip时,若is_step参数为true,则需调用此函数触发时点 2281 | function Duel.EquipComplete() end 2282 | 2283 | ---让玩家 player [直到 reset_count 次 reset_phase 时][在区域 zone] 2284 | ---得到 targets 的控制权,返回值表示是否成功 2285 | ---@return boolean 2286 | ---@param targets Card|Group 2287 | ---@param player integer 2288 | ---@param reset_phase? integer default: 0 2289 | ---@param reset_count? integer default: 0 2290 | ---@param zone? integer default: 0xff 2291 | function Duel.GetControl(targets,player,reset_phase,reset_count,zone) end 2292 | 2293 | ---交换targets1与targets2的控制权,返回值表示是否成功 2294 | ---第三个第四个参数同 Duel.GetControl 2295 | ---@return boolean 2296 | ---@param targets1 Card|Group 2297 | ---@param targets2 Card|Group 2298 | ---@param reset_phase? integer default: 0 2299 | ---@param reset_count? integer default: 0 2300 | function Duel.SwapControl(targets1,targets2,reset_phase,reset_count) end 2301 | 2302 | ---检查玩家player是否能支付cost点lp,must_pay表示不能用代替支付的效果 2303 | ---@return boolean 2304 | ---@param player integer 2305 | ---@param cost integer 2306 | ---@param must_pay? boolean default: false 2307 | function Duel.CheckLPCost(player,cost,must_pay) end 2308 | 2309 | ---让玩家player支付cost点lp,must_pay表示不能用代替支付的效果 2310 | ---@param player integer 2311 | ---@param cost integer 2312 | ---@param must_pay? boolean default: false 2313 | function Duel.PayLPCost(player,cost,must_pay) end 2314 | 2315 | ---以原因reason把玩家player的卡组最上端count张卡送去墓地,返回实际转移的数量 2316 | ---@return integer 2317 | ---@param player integer 2318 | ---@param count integer 2319 | ---@param reason integer 2320 | function Duel.DiscardDeck(player,count,reason) end 2321 | 2322 | ---过滤函数让玩家player选择并以reason原因丢弃满足筛选条件f兵不等于ex的min-max张手卡 2323 | ---第7个参数开始为额外参数 2324 | ---@return integer 2325 | ---@param player integer 2326 | ---@param f function|nil 2327 | ---@param min integer 2328 | ---@param max integer 2329 | ---@param reason integer 2330 | ---@param ex Card|Group|nil 2331 | ---@param ... any 2332 | function Duel.DiscardHand(player,f,min,max,reason,ex,...) end 2333 | 2334 | ---使下一个操作不检查是否需要洗切卡组或手卡 2335 | ---注:如果不调用此函数, 2336 | ---除了调用Duel.DiscardDeck和Duel.Draw之外从卡组中取出卡或者把卡加入手卡 2337 | ---或者把卡加入卡组(非最上端或最底端)时,系统会自动在效果处理结束时洗切卡组或手卡 2338 | ---如果不希望如此,比如从卡组顶端除外一张卡等操作,那么需要调用此函数 2339 | ---此函数仅保证紧接着的一次操作不会进行洗卡检测 2340 | ---@param disable? boolean default: true 2341 | function Duel.DisableShuffleCheck(disable) end 2342 | 2343 | ---关闭卡片的自爆检查。不传参或传true为关闭,传false为启用自爆检查 2344 | ---@param enabled? boolean default: true 2345 | function Duel.DisableSelfDestroyCheck(enabled) end 2346 | 2347 | ---启用选择卡组时显示真实序号 2348 | ---@param enabled? boolean default: true 2349 | function Duel.RevealSelectDeckSequence(enabled) end 2350 | 2351 | ---手动洗切玩家player的卡组 2352 | ---注:会重置洗卡检测的状态 2353 | ---@param player integer 2354 | function Duel.ShuffleDeck(player) end 2355 | 2356 | ---手动洗切玩家player的额外卡组 2357 | ---@param player integer 2358 | function Duel.ShuffleExtra(player) end 2359 | 2360 | ---手动洗切玩家player的手卡 2361 | ---注:会重置洗卡检测的状态 2362 | ---@param player integer 2363 | function Duel.ShuffleHand(player) end 2364 | 2365 | ---洗切覆盖的卡片组 g (实例:魔术礼帽),若g中有表侧表示的卡,则此函数无效 2366 | ---此函数现在可以洗切魔陷区的覆盖卡 2367 | ---@param g Group 2368 | function Duel.ShuffleSetCard(g) end 2369 | 2370 | ---将攻击怪兽变为c 2371 | ---若 ignore_count=true 则原来的攻击怪兽不视为攻击过 2372 | ---@param c Card 2373 | ---@param ignore_count? boolean default: false 2374 | function Duel.ChangeAttacker(c,ignore_count) end 2375 | 2376 | ---将攻击对象变为c,c为nil表示直接攻击,返回值表示是否成功转移攻击对象 2377 | ---@return boolean 2378 | ---@param c Card|nil 2379 | function Duel.ChangeAttackTarget(c) end 2380 | 2381 | ---令c1与c2进行战斗伤害计算(c1 攻击 c2) 2382 | ---若 new_attack=true 则视为 攻击的卡进行过攻击宣言(?) 2383 | ---@param c1 Card 2384 | ---@param c2 Card 2385 | ---@param new_attack? boolean default: false 2386 | function Duel.CalculateDamage(c1,c2,new_attack) end 2387 | 2388 | ---返回玩家player在本次战斗中受到的伤害 2389 | ---@return integer 2390 | ---@param player integer 2391 | function Duel.GetBattleDamage(player) end 2392 | 2393 | ---把玩家player在本次战斗中受到的伤害变成value,若 check=false 则原本战斗伤害就算为0也改变伤害 2394 | ---@param player integer 2395 | ---@param value integer 2396 | ---@param check? boolean default: true 2397 | function Duel.ChangeBattleDamage(player,value,check) end 2398 | 2399 | ---把连锁chainc的对象换成g 2400 | ---@param chainc integer 2401 | ---@param g Group 2402 | function Duel.ChangeTargetCard(chainc,g) end 2403 | 2404 | ---把连锁chainc的对象玩家换成player 2405 | ---@param chainc integer 2406 | ---@param player integer 2407 | function Duel.ChangeTargetPlayer(chainc,player) end 2408 | 2409 | ---把连锁chainc的参数换成param 2410 | ---@param chainc integer 2411 | ---@param param integer 2412 | function Duel.ChangeTargetParam(chainc,param) end 2413 | 2414 | ---中断当前效果,使之后的效果处理视为不同时处理,此函数会造成错时点 2415 | function Duel.BreakEffect() end 2416 | 2417 | ---把连锁chainc的效果的处理函数换成f,用于实现“把效果变成”等的效果 2418 | ---f(e,tp,eg,ep,ev,re,r,rp) 2419 | ---@param chainc integer 2420 | ---@param f function 2421 | function Duel.ChangeChainOperation(chainc,f) end 2422 | 2423 | ---使连锁chainc的发动无效,返回值表示是否成功 2424 | ---@return boolean 2425 | ---@param chainc integer 2426 | function Duel.NegateActivation(chainc) end 2427 | 2428 | ---使连锁chainc的效果无效,返回值表示是否成功 2429 | ---@return boolean 2430 | ---@param chainc integer 2431 | ---@param forced? boolean 2432 | function Duel.NegateEffect(chainc,forced) end 2433 | 2434 | ---使和卡片c有关的连锁都无效化,发生reset事件则重置,reset 默认包含 RESET_CHAIN 2435 | ---@param c Card 2436 | ---@param reset integer 2437 | function Duel.NegateRelatedChain(c,reset) end 2438 | 2439 | ---使正在召唤·反转召唤·特殊召唤的targets的召唤无效 2440 | ---@param targets Card|Group 2441 | function Duel.NegateSummon(targets) end 2442 | 2443 | ---手动增加1次玩家[对于卡片c]的已经通常召唤过的次数 2444 | ---@param c? Card 2445 | function Duel.IncreaseSummonedCount(c) end 2446 | 2447 | ---检查回合玩家本回合是否还能通常召唤[卡片c] 2448 | ---@return boolean 2449 | ---@param c? Card 2450 | function Duel.CheckSummonedCount(c) end 2451 | 2452 | ---返回玩家player的场上location可用的[区域 zone 里的]空格数 2453 | ---location只能是LOCATION_MZONE或者LOCATION_SZONE 2454 | ---reason为LOCATION_REASON_TOFIELD或LOCATION_REASON_CONTROL 2455 | ---##第三个第四个额外参数与凯撒斗技场等限制格子的效果有关 2456 | ---@return integer 2457 | ---@param player integer 2458 | ---@param location integer 2459 | ---@param use_player? integer 2460 | ---@param reason? integer 2461 | ---@param zone? integer default: 0xff 2462 | function Duel.GetLocationCount(player,location,use_player,reason,zone) end 2463 | 2464 | ---返回玩家player场上[targets 离开后]可用的[区域 zone 里的]怪兽区数量 2465 | ---##第三个第四个额外参数与凯撒斗技场等限制格子的效果有关 2466 | ---@return integer 2467 | ---@return integer zone 2468 | ---@param player integer 2469 | ---@param targets? Group|Card 2470 | ---@param use_player? integer 2471 | ---@param reason? integer 2472 | ---@param zone? integer default: 0xff 2473 | function Duel.GetMZoneCount(player,targets,use_player,reason,zone) end 2474 | 2475 | ---返回玩家player场上[targets 离开后]可用的[区域 zone 里的]魔陷区数量(不含场地区域) 2476 | ---##第三个第四个额外参数与凯撒斗技场等限制格子的效果有关 2477 | ---@return integer 2478 | ---@return integer zone 2479 | ---@param player integer 2480 | ---@param targets? Group|Card 2481 | ---@param use_player? integer 2482 | ---@param reason? integer 2483 | ---@param zone? integer default: 0xff 2484 | function Duel.GetSZoneCount(player,targets,use_player,reason,zone) end 2485 | 2486 | ---返回玩家player场上[假如因玩家 reason_player 的原因让 targets 离场后,把卡片 sc 在 zone 区域特殊召唤]可用的 能让额外卡组的怪兽 出场的空格数 2487 | ---@return integer 2488 | ---@param player integer 2489 | ---@param reason_player? integer default: player 2490 | ---@param targets? Group|Card|nil 2491 | ---@param sc? Card|integer 2492 | ---@param zone? integer default: 0xff 2493 | function Duel.GetLocationCountFromEx(player,reason_player,targets,sc,zone) end 2494 | 2495 | ---返回玩家player场上[对于 use_player 来说]可用的怪兽区数量(?) 2496 | ---@return integer 2497 | ---@param player integer 2498 | ---@param use_player? integer 2499 | function Duel.GetUsableMZoneCount(player,use_player) end 2500 | 2501 | ---返回以玩家player来看的 s_range 和 o_range 区域的处于连接状态的卡片组[其实只要后面2个参数不为0就行,只要不为0,都会变成LOCATION_MZONE](?) 2502 | ---@return Group 2503 | ---@param player integer 2504 | ---@param s_range integer 2505 | ---@param o_range integer 2506 | function Duel.GetLinkedGroup(player,s_range,o_range) end 2507 | 2508 | ---返回以玩家player来看的 s_range 和 o_range 区域的处于连接状态的卡片的数量(?) 2509 | ---@return integer 2510 | ---@param player integer 2511 | ---@param s_range integer 2512 | ---@param o_range integer 2513 | function Duel.GetLinkedGroupCount(player,s_range,o_range) end 2514 | 2515 | ---返回以玩家player来看的所有连接区域 2516 | ---@return integer 2517 | ---@param player integer 2518 | function Duel.GetLinkedZone(player) end 2519 | 2520 | ---返回玩家player的场上位于location序号为seq的卡,常用于获得场地区域·灵摆区域的卡 2521 | ---注:召唤·反转召唤·特殊召唤 之际 的卡无法获取 2522 | ---@return Card 2523 | ---@param player integer 2524 | ---@param location integer 2525 | ---@param seq integer 2526 | function Duel.GetFieldCard(player,location,seq) end 2527 | 2528 | ---检查玩家player的场上位于location序号为seq的空格是否可用 2529 | ---@return boolean 2530 | ---@param player integer 2531 | ---@param location integer 2532 | ---@param seq integer 2533 | function Duel.CheckLocation(player,location,seq) end 2534 | 2535 | ---返回当前的连锁个数(即正在处理的连锁序号) 2536 | ---@return integer 2537 | function Duel.GetCurrentChain() end 2538 | 2539 | ---返回当前已执行Target函数的连锁个数 2540 | ---@return integer 2541 | function Duel.GetReadyChain() end 2542 | 2543 | ---返回连锁chainc的信息,如果chainc=0,则返回当前正在处理的连锁的信息 2544 | ---此函数根据传入的参数个数按顺序返回相应数量的返回值参数可以是: 2545 | ---CHAININFO_CHAIN_COUNT 连锁序号 2546 | ---CHAININFO_TRIGGERING_EFFECT 连锁的效果 2547 | ---CHAININFO_TRIGGERING_PLAYER 连锁的玩家 2548 | ---CHAININFO_TRIGGERING_CONTROLER 连锁发生位置所属玩家 2549 | ---CHAININFO_TRIGGERING_LOCATION 连锁发生位置 2550 | ---CHAININFO_TRIGGERING_SEQUENCE 连锁发生的位置的序号 2551 | ---CHAININFO_TARGET_CARDS 连锁的对象卡片组 2552 | ---CHAININFO_TARGET_PLAYER 连锁的对象玩家 2553 | ---CHAININFO_TARGET_PARAM 连锁的对象参数 2554 | ---CHAININFO_DISABLE_REASON 连锁被无效的原因效果 2555 | ---CHAININFO_DISABLE_PLAYER 连锁被无效的原因玩家 2556 | ---CHAININFO_CHAIN_ID 连锁的唯一标识 2557 | ---CHAININFO_TYPE 连锁卡片的类型(怪兽·魔法·陷阱) 2558 | ---CHAININFO_EXTTYPE 连锁卡片的具体类型(例如同调怪兽·永续魔法·反击陷阱) 2559 | ---举例: 2560 | ---Duel.GetChainInfo(0,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TARGET_CARDS) 2561 | ---将会返回当前连锁发生的位置和对象卡 2562 | ---@return ... 2563 | ---@param chainc integer 2564 | ---@param ... any 2565 | function Duel.GetChainInfo(chainc,...) end 2566 | 2567 | ---返回连锁 chainc 的相关参数,如果 chainc=0,则返回当前正在处理的连锁的相关参数 2568 | ---返回6个参数,eg,ep,ev,re,r,rp 2569 | ---@return Group 2570 | ---@return integer 2571 | ---@return integer 2572 | ---@return Effect 2573 | ---@return integer 2574 | ---@return integer 2575 | ---@param chainc integer 2576 | function Duel.GetChainEvent(chainc) end 2577 | 2578 | ---返回当前连锁的所有的对象卡,一般只有一个对象时使用 2579 | ---##多个对象也能使用,剩下的对象依次按顺序返回,但是很容易记错对象的顺序,所以不建议对多个对象使用 2580 | ---@return Card 2581 | ---@return ... Card 2582 | function Duel.GetFirstTarget() end 2583 | 2584 | ---返回当前连锁所有有关联的对象卡 2585 | ---@return Group 2586 | function Duel.GetTargetsRelateToChain() end 2587 | 2588 | ---返回当前的阶段是否为phase 2589 | ---@param phase integer 2590 | ---@return boolean 2591 | function Duel.IsPhase(phase) end 2592 | 2593 | ---返回当前的阶段是否为主要阶段 2594 | ---@return boolean 2595 | function Duel.IsMainPhase() end 2596 | 2597 | ---返回当前的阶段是否为战斗阶段 2598 | ---@return boolean 2599 | function Duel.IsBattlePhase() end 2600 | 2601 | ---返回当前的阶段 2602 | ---@return integer 2603 | function Duel.GetCurrentPhase() end 2604 | 2605 | ---跳过玩家player的phase阶段,并在特定的阶段后reset,reset参数和效果相同 2606 | ---#value只对phase=PHASE_BATTLE才有用,value=1跳过战斗阶段的结束步骤,用于“变成回合结束阶段”等(招财猫王,闪光弹) 2607 | ---@param player integer 2608 | ---@param phase integer 2609 | ---@param reset_flag integer 2610 | ---@param reset_count integer 2611 | ---@param value? integer 2612 | function Duel.SkipPhase(player,phase,reset_flag,reset_count,value) end 2613 | 2614 | ---用于在伤害阶段检查是否已经计算了战斗伤害 2615 | ---@return boolean 2616 | function Duel.IsDamageCalculated() end 2617 | 2618 | ---返回此次战斗攻击的卡 2619 | ---@return Card 2620 | function Duel.GetAttacker() end 2621 | 2622 | ---返回此次战斗被攻击的卡,如果返回nil表示是直接攻击 2623 | ---@return Card 2624 | function Duel.GetAttackTarget() end 2625 | 2626 | ---返回由player操控的正处于战斗中的怪兽。如果没有战斗或没有目标则会返回nil。 2627 | ---@return Card 2628 | ---@return Card 2629 | ---@param player integer 2630 | function Duel.GetBattleMonster(player) end 2631 | 2632 | ---无效此次攻击,返回值表示是否成功 2633 | ---此次攻击已经被其他效果无效或导致攻击的卡不能攻击则返回false 2634 | ---@return boolean 2635 | function Duel.NegateAttack() end 2636 | 2637 | ---使攻击卡[或卡片c]可以再进行1次攻击(比如 大开辟,破灭的女王) 2638 | ---@param c? Card 2639 | function Duel.ChainAttack(c) end 2640 | 2641 | ---刷新场上的卡的信息 2642 | ---非特定情况或者不清楚原理请勿使用此函数以免形成死循环 2643 | function Duel.Readjust() end 2644 | 2645 | ---手动刷新场上[受到卡片c影响]的卡的无效状态 2646 | ---@param c? Card 2647 | function Duel.AdjustInstantly(c) end 2648 | 2649 | ---立刻刷新场地信息 2650 | function Duel.AdjustAll() end 2651 | 2652 | ---返回以player来看的指定位置的卡,s代表以player来看的自己的位置,o代表以player来看的对方的位置 2653 | ---@return Group 2654 | ---@param player integer 2655 | ---@param s integer 2656 | ---@param o integer 2657 | function Duel.GetFieldGroup(player,s,o) end 2658 | 2659 | ---同 Duel.GetFieldGroup ,只是返回的是卡的数量 2660 | ---@return integer 2661 | ---@param player integer 2662 | ---@param s integer 2663 | ---@param o integer 2664 | function Duel.GetFieldGroupCount(player,s,o) end 2665 | 2666 | ---返回玩家player的卡组最上方的count张卡 2667 | ---@return Group 2668 | ---@param player integer 2669 | ---@param count integer 2670 | function Duel.GetDecktopGroup(player,count) end 2671 | 2672 | ---返回玩家player的额外卡组表侧表示的卡中最上方的count张卡 2673 | ---@return Group 2674 | ---@param player integer 2675 | ---@param count integer 2676 | function Duel.GetExtraTopGroup(player,count) end 2677 | 2678 | ---过滤函数,返回以player来看的指定位置满足过滤条件f并且不等于ex的卡 2679 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 2680 | ---第6个参数开始为额外参数 2681 | ---@return Group 2682 | ---@param f function|nil 2683 | ---@param player integer 2684 | ---@param s integer 2685 | ---@param o integer 2686 | ---@param ex Card|Group|nil 2687 | ---@param ... any 2688 | function Duel.GetMatchingGroup(f,player,s,o,ex,...) end 2689 | 2690 | ---过滤函数,返回以player来看的指定位置满足过滤条件f并且不等于ex的卡的数量 2691 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 2692 | ---第6个参数开始为额外参数 2693 | ---@return integer 2694 | ---@param f function|nil 2695 | ---@param player integer 2696 | ---@param s integer 2697 | ---@param o integer 2698 | ---@param ex Card|Group|nil 2699 | ---@param ... any 2700 | function Duel.GetMatchingGroupCount(f,player,s,o,ex,...) end 2701 | 2702 | ---过滤函数,返回以player来看的指定位置满足过滤条件f并且不等于ex的第一张卡,没有则返回nil 2703 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 2704 | ---第6个参数开始为额外参数 2705 | ---@return Card 2706 | ---@param f function|nil 2707 | ---@param player integer 2708 | ---@param s integer 2709 | ---@param o integer 2710 | ---@param ex Card|Group|nil 2711 | ---@param ... any 2712 | function Duel.GetFirstMatchingCard(f,player,s,o,ex,...) end 2713 | 2714 | ---过滤函数,检查以player来看的指定位置是否存在至少count张满足过滤条件f并且不等于ex的卡 2715 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 2716 | ---第7个参数开始为额外参数 2717 | ---@return boolean 2718 | ---@param f function|nil 2719 | ---@param player integer 2720 | ---@param s integer 2721 | ---@param o integer 2722 | ---@param count integer 2723 | ---@param ex Card|Group|nil 2724 | ---@param ... any 2725 | function Duel.IsExistingMatchingCard(f,player,s,o,count,ex,...) end 2726 | 2727 | ---过滤函数,让玩家sel_player选择以player来看的指定位置满足过滤条件f并且不等于ex的min-max张卡 2728 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 2729 | ---第9个参数开始为额外参数 2730 | ---@return Group 2731 | ---@param sel_player integer 2732 | ---@param f function|nil 2733 | ---@param player integer 2734 | ---@param s integer 2735 | ---@param o integer 2736 | ---@param min integer 2737 | ---@param max integer 2738 | ---@param ex Card|Group|nil 2739 | ---@param ... any 2740 | function Duel.SelectMatchingCard(sel_player,f,player,s,o,min,max,ex,...) end 2741 | 2742 | ---返回玩家player能以原因reason解放的卡片组, use_hand=true 则包括手卡 2743 | ---@return Group 2744 | ---@param player integer 2745 | ---@param use_hand? boolean default: false 2746 | ---@param reason? integer default: REASON_COST 2747 | function Duel.GetReleaseGroup(player,use_hand,reason) end 2748 | 2749 | ---返回玩家player能以原因reason解放的卡片数量, use_hand=true 则包括手卡 2750 | ---@return integer 2751 | ---@param player integer 2752 | ---@param use_hand? boolean default: false 2753 | ---@param reason? integer default: REASON_COST 2754 | function Duel.GetReleaseGroupCount(player,use_hand,reason) end 2755 | 2756 | ---检查玩家player场上是否存在至少count张满足过滤条件f并且不等于ex的能以原因REASON_COST解放的卡 2757 | ---第5个参数开始为额外参数 2758 | ---@return boolean 2759 | ---@param player integer 2760 | ---@param f function|nil 2761 | ---@param count integer 2762 | ---@param ex Card|Group|nil 2763 | ---@param ... any 2764 | function Duel.CheckReleaseGroup(player,f,count,ex,...) end 2765 | 2766 | ---过滤函数,让玩家sel_player从场上选择min-max张不等于ex的满足条件f的能以原因REASON_COST解放的卡 2767 | ---第6个参数开始为额外参数 2768 | ---@return Group 2769 | ---@param sel_player integer 2770 | ---@param f function|nil 2771 | ---@param min integer 2772 | ---@param max integer 2773 | ---@param ex Card|Group|nil 2774 | ---@param ... any 2775 | function Duel.SelectReleaseGroup(sel_player,f,min,max,ex,...) end 2776 | 2777 | ---检查玩家player场上是否存在至少count张满足过滤条件f并且不等于ex的能以原因reason解放的卡,use_hand则包括手卡 2778 | ---第5个参数开始为额外参数 2779 | ---@return boolean 2780 | ---@param player integer 2781 | ---@param f function|nil 2782 | ---@param count integer 2783 | ---@param reason integer 2784 | ---@param use_hand boolean 2785 | ---@param ex Card|Group|nil 2786 | ---@param ... any 2787 | function Duel.CheckReleaseGroupEx(player,f,count,reason,use_hand,ex,...) end 2788 | 2789 | ---过滤函数,让玩家player从场上选择min-max张满足过滤条件f并且不等于ex的能以原因reason解放的卡,use_hand则包括手卡 2790 | ---第6个参数开始为额外参数 2791 | ---@return Group 2792 | ---@param player integer 2793 | ---@param f function|nil 2794 | ---@param min integer 2795 | ---@param max integer 2796 | ---@param reason integer 2797 | ---@param use_hand boolean 2798 | ---@param ex Card|Group|nil 2799 | ---@param ... any 2800 | function Duel.SelectReleaseGroupEx(player,f,min,max,reason,use_hand,ex,...) end 2801 | 2802 | ---返回场上用于通常召唤c可解放(上级召唤用)的卡片组 2803 | ---@return Group 2804 | ---@param c Card 2805 | function Duel.GetTributeGroup(c) end 2806 | 2807 | ---返回场上[或mg中]用于通常召唤c的祭品数量,ex=true则允许对方场上的怪兽(太阳神之翼神龙-球体形) 2808 | ---此数量不一定等于Duel.GetTributeGroup的返回值中的卡片数量 2809 | ---因为某些卡可以作为多个祭品来使用 2810 | ---@return integer 2811 | ---@param c Card 2812 | ---@param mg? Group 2813 | ---@param ex? boolean default: false 2814 | function Duel.GetTributeCount(c,mg,ex) end 2815 | 2816 | ---判断场上[或mg中]是否存在用于通常召唤c[到toplayer场上的区域 zone]的min[到max]个祭品 2817 | ---@return Group 2818 | ---@param c Card 2819 | ---@param min integer 2820 | ---@param max? integer|nil default: min 2821 | ---@param mg? Group|nil 2822 | ---@param toplayer? integer|nil default: c:GetControler() 2823 | ---@param zone? integer|nil default: 0x1f 2824 | function Duel.CheckTribute(c,min,max,mg,toplayer,zone) end 2825 | 2826 | ---让玩家player从场上[或mg中]选择用于通常召唤c的min-max个祭品,召唤到 toplayer 场上 2827 | ---@return Group 2828 | ---@param player integer 2829 | ---@param c Card 2830 | ---@param min integer 2831 | ---@param max integer 2832 | ---@param mg? Group|nil 2833 | ---@param toplayer? integer|nil default: c:GetControler() 2834 | function Duel.SelectTribute(player,c,min,max,mg,toplayer) end 2835 | 2836 | ---基本同Duel.GetMatchingGroupCount ,不同之处在于需要追加判定卡片是否能成为当前正在处理的效果的对象 2837 | ---@return integer 2838 | ---@param f function|nil 2839 | ---@param player integer 2840 | ---@param s integer 2841 | ---@param o integer 2842 | ---@param ex Card|Group|nil 2843 | ---@param ... any 2844 | function Duel.GetTargetCount(f,player,s,o,ex,...) end 2845 | 2846 | ---基本同Duel.IsExistingMatchingCard ,不同之处在于需要追加判定卡片是否能成为当前正在处理的效果的对象 2847 | ---@return boolean 2848 | ---@param f function|nil 2849 | ---@param player integer 2850 | ---@param s integer 2851 | ---@param o integer 2852 | ---@param count integer 2853 | ---@param ex Card|Group|nil 2854 | ---@param ... any 2855 | function Duel.IsExistingTarget(f,player,s,o,count,ex,...) end 2856 | 2857 | ---基本同Duel.SelectMatchingCard ,不同之处在于此函数会同时将当前正在处理的连锁的对象设置成选择的卡 2858 | ---@return Group 2859 | ---@param sel_player integer 2860 | ---@param f function|nil 2861 | ---@param player integer 2862 | ---@param s integer 2863 | ---@param o integer 2864 | ---@param min integer 2865 | ---@param max integer 2866 | ---@param ex Card|Group|nil 2867 | ---@param ... any 2868 | function Duel.SelectTarget(sel_player,f,player,s,o,min,max,ex,...) end 2869 | 2870 | ---返回必须作为素材的卡片组 2871 | ---@return Group 2872 | ---@param player integer 2873 | ---@param ecode integer EFFECT_MUST_BE_FMATERIAL等 2874 | function Duel.GetMustMaterial(player,ecode) end 2875 | 2876 | ---检查卡片组是否满足必须作为素材的条件 2877 | ---@return boolean 2878 | ---@param player integer 2879 | ---@param cards Group|Card 2880 | ---@param ecode integer EFFECT_MUST_BE_FMATERIAL等 2881 | function Duel.CheckMustMaterial(player,cards,ecode) end 2882 | 2883 | ---让玩家player从g中选择一组[必须包含gc在内的]融合怪兽c的融合素材 2884 | ---##根据c的种类为EFFECT_FUSION_MATERIAL的效果的Operation操作 2885 | ---@return Group 2886 | ---@param player integer 2887 | ---@param c Card 2888 | ---@param g Group|nil 不能为空 2889 | ---@param gc? Card|nil 2890 | ---@param chkf? integer default: PLAYER_NONE 2891 | ---@param not_material? boolean default: false 2892 | function Duel.SelectFusionMaterial(player,c,g,gc,chkf,not_material) end 2893 | 2894 | ---设置g为需要使用的融合素材 2895 | ---@param g Group 2896 | function Duel.SetFusionMaterial(g) end 2897 | 2898 | ---设置g为需要使用的同调素材 2899 | ---@param g Group 2900 | function Duel.SetSynchroMaterial(g) end 2901 | 2902 | ---获取玩家可以作为同调素材的卡片组 2903 | ---@return Group 2904 | ---@param player integer 2905 | function Duel.GetSynchroMaterial(player) end 2906 | 2907 | ---让玩家player从场上[或mg中]选择用于同调c需要的[必须包含smat在内(如果有mg~=nil则忽略此参数)]满足条件的一组素材 2908 | ---f1是 1 只需要满足的过滤条件,f2是 min-max 只需要满足的过滤条件 2909 | ---f1,f2 之中,至少有一种为调整的条件 2910 | ---@return Group 2911 | ---@param player integer 2912 | ---@param c Card 2913 | ---@param f1 function|nil 2914 | ---@param f2 function|nil 2915 | ---@param min integer 2916 | ---@param max integer 2917 | ---@param smat? Card|nil 2918 | ---@param mg? Group|nil 2919 | function Duel.SelectSynchroMaterial(player,c,f1,f2,min,max,smat,mg) end 2920 | 2921 | ---检查场上[或mg中]是否存在一组[必须包括smat在内的(如果有mg~=nil则忽略此参数)]满足条件的卡作为同调召唤c的素材 2922 | ---f1是 1 只需要满足的过滤条件,f2是 min-max 只需要满足的过滤条件 2923 | ---f1,f2 之中,至少有一种为调整的条件 2924 | ---@return boolean 2925 | ---@param c Card 2926 | ---@param f1 function|nil 2927 | ---@param f2 function|nil 2928 | ---@param min integer 2929 | ---@param max integer 2930 | ---@param smat? Card|nil 2931 | ---@param mg? Group|nil 2932 | function Duel.CheckSynchroMaterial(c,f1,f2,min,max,smat,mg) end 2933 | 2934 | ---让玩家从场上[或mg中]选择用于同调c需要的满足条件的以tuner作为调整的min-max张卡的一组素材 2935 | ---f1是 1 只需要满足的过滤条件,f2是 min-max 只需要满足的过滤条件 2936 | ---@return Group 2937 | ---@param player integer 2938 | ---@param c Card 2939 | ---@param tuner Card 2940 | ---@param f1 function|nil 2941 | ---@param f2 function|nil 2942 | ---@param min integer 2943 | ---@param max integer 2944 | ---@param mg? Group|nil 2945 | function Duel.SelectTunerMaterial(player,c,tuner,f1,f2,min,max,mg) end 2946 | 2947 | ---检查场上[或mg中]是否存在一组以tuner作为调整,并且满足条件的卡作为同调召唤c的素材 2948 | ---f1是 1 只需要满足的过滤条件,f2是 min-max 只需要满足的过滤条件 2949 | ---@return boolean 2950 | ---@param c Card 2951 | ---@param tuner Card 2952 | ---@param f1 function|nil 2953 | ---@param f2 function|nil 2954 | ---@param min integer 2955 | ---@param max integer 2956 | ---@param mg? Group|nil 2957 | function Duel.CheckTunerMaterial(c,tuner,f1,f2,min,max,mg) end 2958 | 2959 | ---返回玩家player可用的用于仪式召唤素材的卡片组 2960 | ---包含手上,场上可解放的以及墓地的仪式魔人等卡 2961 | ---@return Group 2962 | ---@param player integer 2963 | function Duel.GetRitualMaterial(player) end 2964 | 2965 | ---Duel.GetRitualMaterial并包含无等级怪兽 2966 | ---@return Group 2967 | ---@param player integer 2968 | function Duel.GetRitualMaterialEx(player) end 2969 | 2970 | ---解放仪式用的素材g,如果是墓地的仪式魔人等卡则除外 2971 | ---@param g Group 2972 | function Duel.ReleaseRitualMaterial(g) end 2973 | 2974 | ---返回玩家player可用的用于融合召唤素材的卡片组 2975 | ---@return Group material_all 包含受EFFECT_EXTRA_FUSION_MATERIAL影响的卡 2976 | ---@return Group material_base 只取那些区域的卡 2977 | ---@param player integer 2978 | ---@param location? integer default: LOCATION_HAND + LOCATION_MZONE 2979 | function Duel.GetFusionMaterial(player,location) end 2980 | 2981 | ---返回当前进行特殊召唤的行为是否可以回滚并撤销。 2982 | ---@return boolean 2983 | function Duel.IsSummonCancelable() end 2984 | 2985 | ---设置Duel.CheckWithSum,Group.CheckSubGroup等函数已选择/必须选择的卡片 2986 | ---@param cards Card|Group 2987 | function Duel.SetSelectedCard(cards) end 2988 | 2989 | ---清空并返回由Duel.SetSelectedCard设置的卡片或卡片组。 2990 | ---@return Group 2991 | function Duel.GrabSelectedCard() end 2992 | 2993 | ---把当前正在处理的连锁的对象设置成targets 2994 | ---注,这里的对象指的的广义的对象,包括不取对象的效果可能要处理的对象 2995 | ---@param targets Card|Group 2996 | function Duel.SetTargetCard(targets) end 2997 | 2998 | ---把当前正在处理的连锁的对象全部清除 2999 | function Duel.ClearTargetCard() end 3000 | 3001 | ---把当前正在处理的连锁的对象玩家设置成player 3002 | ---@param player integer 3003 | function Duel.SetTargetPlayer(player) end 3004 | 3005 | ---把当前正在处理的连锁的对象参数设置成param 3006 | ---@param param integer 3007 | function Duel.SetTargetParam(param) end 3008 | 3009 | ---操作信息:效果处理中确定要处理的分类 3010 | ---比如潜行狙击手需要设置CATEGORY_DICE,但是不能设置CATEGORY_DESTROY,因为不确定 3011 | ---对于破坏效果,targets需要设置成发动时可能成为连锁的影响对象的卡, 3012 | ---并设置count为发动时确定的要处理的卡的数量 3013 | ---比如黑洞发动时,targets需要设定为场上的所有怪兽,count设置成场上的怪的数量 3014 | ---对于需要移动卡片位置的CATEGORY_SPECIAL_SUMMON,CATEGORY_TOHAND,CATEGORY_TODECK等分类, 3015 | ---如果要处理的卡是确定的(比如取对象),则设置targets为这些卡,count为数量, 3016 | ---如果要处理的卡是不确定的(效果处理时才能确定,一般是不取对象的效果), 3017 | ---则设置targets为nil,count为预计要处理的卡的数量, 3018 | --- target_player为预计要处理的卡的持有者(不确定就为0) 3019 | --- target_param为预计要处理的卡的位置 3020 | ---例如增援:SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) 3021 | ---操作信息用于很多效果的发动的检测,例如星尘龙,王家长眠之谷等 3022 | 3023 | ---设置连锁chainc的category分类的操作信息, chainc=0 则是表示当前连锁 3024 | ---@param chainc integer 3025 | ---@param category integer 3026 | ---@param targets Card|Group|nil|0 3027 | ---@param count integer 3028 | ---@param target_player integer 3029 | ---@param target_param integer 3030 | function Duel.SetOperationInfo(chainc,category,targets,count,target_player,target_param) end 3031 | 3032 | ---返回连锁chainc的category分类的操作信息,存在的话,则返回值为5个, chainc=0 则是表示当前连锁 3033 | ---第一个返回值是false的话表示不存在该分类 3034 | ---后4个返回值对应Duel.SetOperationInfo的后4个参数:Card|Group targets, int count, int target_player, int target_param 3035 | ---@return boolean 3036 | ---@return Group 可能为空 3037 | ---@return integer 可能为空 3038 | ---@return integer 可能为空 3039 | ---@return integer 可能为空 3040 | ---@param chainc integer 3041 | ---@param category integer 3042 | function Duel.GetOperationInfo(chainc,category) end 3043 | 3044 | ---返回连锁chainc包含的操作分类的数量 3045 | ---@return integer 3046 | ---@param chainc integer 3047 | function Duel.GetOperationCount(chainc) end 3048 | 3049 | ---将chainc的OperationInfo清除。用于如堕天使复制并使用墓地效果之类,卡片效果不应当被响应的情况。 3050 | ---@param chainc integer 3051 | function Duel.ClearOperationInfo(chainc) end 3052 | 3053 | ---检查场上[或mg中]是否存在XYZ召唤c的XYZ用等级为lv的min-max个满足条件f的叠放素材 3054 | ---@return boolean 3055 | ---@param c Card 3056 | ---@param f function|nil 3057 | ---@param lv integer 3058 | ---@param min integer 3059 | ---@param max integer 3060 | ---@param mg Group|nil 3061 | function Duel.CheckXyzMaterial(c,f,lv,min,max,mg) end 3062 | 3063 | ---让玩家player为XYZ怪兽c从场上[或mg中]选择XYZ用等级为lv的min-max个满足条件f的叠放素材 3064 | ---@return Group 3065 | ---@param player integer 3066 | ---@param c Card 3067 | ---@param f function|nil 3068 | ---@param lv integer 3069 | ---@param min integer 3070 | ---@param max integer 3071 | ---@param mg? Group|nil 3072 | function Duel.SelectXyzMaterial(player,c,f,lv,min,max,mg) end 3073 | 3074 | ---把ocard作为c的叠放卡叠放 3075 | ---@param c Card 3076 | ---@param ocard Card|Group 3077 | ---@param adjust? boolean default: true 3078 | function Duel.Overlay(c,ocard,adjust) end 3079 | 3080 | ---返回以player来看的指定位置的所有叠放的卡 3081 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 3082 | ---@return Group 3083 | ---@param player integer 3084 | ---@param s integer 3085 | ---@param o integer 3086 | function Duel.GetOverlayGroup(player,s,o) end 3087 | 3088 | ---返回以player来看的指定位置的所有叠放的卡的数量 3089 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 3090 | ---@return integer 3091 | ---@param player integer 3092 | ---@param s integer 3093 | ---@param o integer 3094 | function Duel.GetOverlayCount(player,s,o) end 3095 | 3096 | ---检查player能否以原因reason移除以player来看的指定位置至少count张卡 3097 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 3098 | ---@return boolean 3099 | ---@param player integer 3100 | ---@param s integer 3101 | ---@param o integer 3102 | ---@param count integer 3103 | ---@param reason integer 3104 | function Duel.CheckRemoveOverlayCard(player,s,o,count,reason) end 3105 | 3106 | ---让player以reason原因移除以player来看的指定位置的min-max张叠放卡,返回值表示是否成功 3107 | ---s代表以player来看的自己的位置,o代表以player来看的对方的位置 3108 | ---@return integer 3109 | ---@param player integer 3110 | ---@param s integer 3111 | ---@param o integer 3112 | ---@param min integer 3113 | ---@param max integer 3114 | ---@param reason integer 3115 | function Duel.RemoveOverlayCard(player,s,o,min,max,reason) end 3116 | 3117 | ---给玩家player发送hint_type类型的消息提示,提示内容为desc 3118 | ---@param hint_type integer 3119 | ---@param player integer 3120 | ---@param desc integer 3121 | function Duel.Hint(hint_type,player,desc) end 3122 | 3123 | ---返回上次给玩家player发送的HINT_SELECTMSG类型的提示内容 3124 | ---@param player integer 3125 | ---@return integer 3126 | function Duel.GetLastSelectHint(player) end 3127 | 3128 | ---手动为g显示被选为对象的动画效果 3129 | ---@param g Group 3130 | function Duel.HintSelection(g) end 3131 | 3132 | ---让玩家player选择是否发动卡片c的效果[提示文字可以自行用desc替换,desc 用 aux.Stringid 获取] 3133 | ---@return boolean 3134 | ---@param player integer 3135 | ---@param c Card 3136 | ---@param desc? integer default: 95 3137 | function Duel.SelectEffectYesNo(player,c,desc) end 3138 | 3139 | ---让玩家player选择是或否 3140 | ---@return boolean 3141 | ---@param player integer 3142 | ---@param desc integer 3143 | function Duel.SelectYesNo(player,desc) end 3144 | 3145 | ---让玩家选择选项,从第二个参数开始,每一个参数代表一条选项 3146 | ---返回选择的选项的序号(从0开始) 3147 | ---@return integer 3148 | ---@param player integer 3149 | ---@param desc1 integer 3150 | ---@param ... any 3151 | function Duel.SelectOption(player,desc1,...) end 3152 | 3153 | ---此函数只有一个 check_action_permission 操作,不知何用 3154 | function Duel.SelectSequence() end 3155 | 3156 | ---让玩家player选择c的表示形式并返回 3157 | ---@return integer 3158 | ---@param player integer 3159 | ---@param c Card 3160 | ---@param pos integer 3161 | function Duel.SelectPosition(player,c,pos) end 3162 | 3163 | ---让玩家player选择场地。 3164 | ---@return integer 3165 | ---@param player integer 3166 | ---@param count integer 3167 | ---@param loc1 integer 3168 | ---@param loc2 integer 3169 | ---@param zone integer 3170 | ---@param code? integer 3171 | function Duel.SelectField(player,count,loc1,loc2,zone,code) end 3172 | 3173 | ---让玩家player选择指定位置满足标记条件filter的count个可用的空格,并返回选择位置的标记 3174 | ---常用于选择区域不能使用或移动怪兽格子 3175 | ---##位置标记的定义如下 3176 | ---##flag = 0; 3177 | ---##seq为在玩家p,位置l中选择的格子序号 3178 | ---##for(int32 i = 0; i < count; ++i) { 3179 | ---## flag |= 1 << (seq[i] + (p[i] == player ? 0 : 16) + (l[i] == LOCATION_MZONE ? 0 : 8)); 3180 | ---##} 3181 | ---@return integer 3182 | ---@param player integer 3183 | ---@param count integer 3184 | ---@param s integer 3185 | ---@param o integer 3186 | ---@param filter integer 3187 | function Duel.SelectDisableField(player,count,s,o,filter) end 3188 | 3189 | ---让玩家player从可选的种族中宣言count个种族 3190 | ---available是所有可选种族的组合值,可以自行组合 3191 | ---@return integer 3192 | ---@param player integer 3193 | ---@param count integer 3194 | ---@param available integer 3195 | function Duel.AnnounceRace(player,count,available) end 3196 | 3197 | ---让玩家player从可选的属性中宣言count个属性 3198 | ---available是所有可选属性的组合值,可以自行组合 3199 | ---@return integer 3200 | ---@param player integer 3201 | ---@param count integer 3202 | ---@param available integer 3203 | function Duel.AnnounceAttribute(player,count,available) end 3204 | 3205 | ---让玩家宣言一个[min-max]等级并返回 3206 | ---@return integer 3207 | ---@param player integer 3208 | ---@param min? integer|nil default: 1 3209 | ---@param max? integer|nil default: 12 3210 | ---@param ...? integer 3211 | function Duel.AnnounceLevel(player,min,max,...) end 3212 | 3213 | ---让玩家player宣言一个满足条件的卡片卡号,条件用后缀表达式...表示 3214 | ---原名AnnounceCardFilter 3215 | ---@return integer 3216 | ---@param player integer 3217 | ---@param ...? integer 3218 | function Duel.AnnounceCard(player,...) end 3219 | 3220 | ---让玩家player宣言一个卡片类型(怪兽·魔法·陷阱) 3221 | ---别想着直接宣言 复合类型(永续魔法 等) 3222 | ---@return integer 3223 | ---@param player integer 3224 | function Duel.AnnounceType(player) end 3225 | 3226 | ---让玩家player宣言一个数字 3227 | ---从第二个参数开始,每一个参数代表一个可宣言的数字 3228 | ---第一个返回值是宣言的数字,第二个返回值是宣言数字在所有选项中的位置 3229 | ---@return integer 3230 | ---@return integer 3231 | ---@param player integer 3232 | ---@param number integer 3233 | ---@param ... any 3234 | function Duel.AnnounceNumber(player,number,...) end 3235 | 3236 | ---让玩家player宣言硬币的正反面 3237 | ---@return integer 3238 | ---@param player integer 3239 | function Duel.AnnounceCoin(player) end 3240 | 3241 | ---让玩家player投count(<=20)次硬币,返回值为count个结果,0或者1, 正面是 1,反面是0 3242 | ---若count=-1,投硬币直到出现反面,返回值为投掷次数 3243 | ---@return ... 3244 | ---@param player integer 3245 | ---@param count integer 3246 | function Duel.TossCoin(player,count) end 3247 | 3248 | ---让玩家player投count1次骰子[,1-player投count2次骰子](count1+count2<=5) 3249 | ---返回值为count1+count2个结果,1-6 3250 | ---@return ... 3251 | ---@param player integer 3252 | ---@param count1 integer 3253 | ---@param count2? integer 3254 | function Duel.TossDice(player,count1,count2) end 3255 | 3256 | ---猜拳,若 repeated=false 则只猜一次;否则就是直到分出胜负为止。返回胜利的玩家号码 3257 | ---@return integer 3258 | ---@param repeated? boolean default: true 3259 | function Duel.RockPaperScissors(repeated) end 3260 | 3261 | ---返回当前投硬币的结果 3262 | ---@return integer 3263 | ---@return integer 3264 | ---@return integer 3265 | ---@return integer 3266 | ---@return integer 3267 | function Duel.GetCoinResult() end 3268 | 3269 | ---返回当前掷骰子的结果 3270 | ---@return integer 3271 | ---@return integer 3272 | ---@return integer 3273 | ---@return integer 3274 | ---@return integer 3275 | function Duel.GetDiceResult() end 3276 | 3277 | ---强行修改投硬币的结果为res ,最多5个参数,res只能是 0 或 1, ,其他全算作 0 3278 | ---此函数用于永续的EVENT_TOSS_COIN事件中 3279 | ---@param res integer 3280 | ---@param ... any 3281 | function Duel.SetCoinResult(res,...) end 3282 | 3283 | ---强行修改投骰子的结果为res ,最多5个参数,res只能是 1~255, ,其他数字全算作 1 3284 | ---此函数用于永续的EVENT_TOSS_DICE事件中 3285 | ---@param res integer 3286 | ---@param ... any 3287 | function Duel.SetDiceResult(res,...) end 3288 | 3289 | ---检查player是否受到种类为code的效果影响,如果有就返回该效果,没有则返回nil 3290 | ---@return Effect|nil 3291 | ---@return ... 3292 | ---@param player integer 3293 | ---@param code integer 3294 | function Duel.IsPlayerAffectedByEffect(player,code) end 3295 | 3296 | ---检查玩家player是否可以效果抽[count张]卡 3297 | ---@return boolean 3298 | ---@param player integer 3299 | ---@param count? integer default: 0 3300 | function Duel.IsPlayerCanDraw(player,count) end 3301 | 3302 | ---检查玩家player是否可以把卡组顶端count张卡送去墓地 3303 | ---@return boolean 3304 | ---@param player integer 3305 | ---@param count integer 3306 | function Duel.IsPlayerCanDiscardDeck(player,count) end 3307 | 3308 | ---检查玩家player是否能作为Cost把count张卡送去墓地。 3309 | ---@return boolean 3310 | ---@param player integer 3311 | ---@param count integer 3312 | function Duel.IsPlayerCanDiscardDeckAsCost(player,count) end 3313 | 3314 | ---检查玩家player是否可以通常召唤[c,以sumtype方式] 3315 | ---如果需要可选参数,则必须全部使用 3316 | ---仅当玩家收到“不能上级召唤”等效果的影响时返回false 3317 | ---@return boolean 3318 | ---@param player integer 3319 | ---@param sumtype? integer 3320 | ---@param c? Card 3321 | function Duel.IsPlayerCanSummon(player,sumtype,c) end 3322 | 3323 | ---检查玩家player是否可以[以sumtype的召唤方式将scard]盖放。 3324 | ---如果要加入后面的可选参数,则所有两个可选参数都必须加上。 3325 | ---@return boolean 3326 | ---@param player integer 3327 | ---@param sumtype? integer 3328 | ---@param scard? Card 3329 | function Duel.IsPlayerCanMSet(player,sumtype,scard) end 3330 | 3331 | ---检查玩家player是否可以[将scard]盖放。 3332 | ---@return boolean 3333 | ---@param player integer 3334 | ---@param scard? Card 3335 | function Duel.IsPlayerCanSSet(player,scard) end 3336 | 3337 | ---检查玩家player能否特殊召唤[c到target_player场上,以sumtype召唤方式,sumpos表示形式] 3338 | ---如果需要可选参数,则必须全部使用 3339 | ---@return boolean 3340 | ---@param player integer 3341 | ---@param sumtype? integer 3342 | ---@param sumpos? integer 3343 | ---@param target_player? integer 3344 | ---@param c? Card 3345 | function Duel.IsPlayerCanSpecialSummon(player,sumtype,sumpos,target_player,c) end 3346 | 3347 | ---检查玩家player是否可以反转召唤c 3348 | ---@return boolean 3349 | ---@param player integer 3350 | ---@param c Card 3351 | function Duel.IsPlayerCanFlipSummon(player,c) end 3352 | 3353 | ---检查玩家player是否可以[以sumtype 方式][以 pos 表示形式]特殊召唤 给定参数的怪兽到target_player场上 3354 | ---此函数通常用于判定是否可以特招token和陷阱怪兽 3355 | ---@return boolean 3356 | ---@param player integer 3357 | ---@param code integer 3358 | ---@param setcode? integer|nil 3359 | ---@param type? integer|nil 3360 | ---@param atk? integer|nil 3361 | ---@param def? integer|nil 3362 | ---@param level? integer|nil 3363 | ---@param race? integer|nil 3364 | ---@param attribute? integer|nil 3365 | ---@param pos? integer default: POS_FACEUP 3366 | ---@param target_player? integer default: player 3367 | ---@param sumtype? integer default: 0 3368 | ---@param zone? integer 3369 | function Duel.IsPlayerCanSpecialSummonMonster(player,code,setcode,type,atk,def,level,race,attribute,pos,target_player,sumtype,zone) end 3370 | 3371 | ---检查玩家player能否特殊召唤count次 3372 | ---@return boolean 3373 | ---@param player integer 3374 | ---@param count integer 3375 | function Duel.IsPlayerCanSpecialSummonCount(player,count) end 3376 | 3377 | ---检查玩家player是否能解放[以原因reason解放c] 3378 | ---@return boolean 3379 | ---@param player integer 3380 | ---@param c? Card 3381 | ---@param reason? integer default: REASON_COST 3382 | function Duel.IsPlayerCanRelease(player,c,reason) end 3383 | 3384 | ---检查玩家player是否能除外c 3385 | ---@return boolean 3386 | ---@param player integer 3387 | ---@param c? Card 3388 | function Duel.IsPlayerCanRemove(player,c) end 3389 | 3390 | ---检查玩家是否能把c送去手卡 3391 | ---@return boolean 3392 | ---@param player integer 3393 | ---@param c Card 3394 | function Duel.IsPlayerCanSendtoHand(player,c) end 3395 | 3396 | ---检查玩家是否能把c送去墓地 3397 | ---@return boolean 3398 | ---@param player integer 3399 | ---@param c? Card 3400 | function Duel.IsPlayerCanSendtoGrave(player,c) end 3401 | 3402 | ---检查玩家是否能把c送去卡组 3403 | ---@return boolean 3404 | ---@param player integer 3405 | ---@param c Card 3406 | function Duel.IsPlayerCanSendtoDeck(player,c) end 3407 | 3408 | ---检查玩家player是否有通常召唤外的召唤次数。 3409 | ---@return boolean 3410 | ---@param player integer 3411 | function Duel.IsPlayerCanAdditionalSummon(player) end 3412 | 3413 | ---检查当前是处于连锁处理中,还是不入连锁的效果处理中 3414 | ---@return boolean 3415 | function Duel.IsChainSolving() end 3416 | 3417 | ---检查连锁chainc的发动能否被无效 3418 | ---@return boolean 3419 | ---@param chainc integer 3420 | function Duel.IsChainNegatable(chainc) end 3421 | 3422 | ---检查连锁chainc的效果能否被无效 3423 | ---@return boolean 3424 | ---@param chainc integer 3425 | function Duel.IsChainDisablable(chainc) end 3426 | 3427 | ---检查连锁chainc是否已被无效 3428 | ---@return boolean 3429 | ---@param chainc integer 3430 | function Duel.IsChainDisabled(chainc) end 3431 | 3432 | ---检查c是否是连锁chainc的效果的正确的对象 3433 | ---@return boolean 3434 | ---@param chainc integer 3435 | ---@param c Card 3436 | function Duel.CheckChainTarget(chainc,c) end 3437 | 3438 | ---检查当前连锁中是否存在同名卡的发动,返回true表示无同名卡 3439 | ---@return boolean 3440 | function Duel.CheckChainUniqueness() end 3441 | 3442 | ---返回player进行对应的activity_type操作的次数 3443 | ---@return integer 3444 | ---@return ... 3445 | ---@param player integer 3446 | ---@param activity_type integer 3447 | ---@param ... any 3448 | function Duel.GetActivityCount(player,activity_type,...) end 3449 | 3450 | ---检查玩家在当前阶段是否有操作(是否处于阶段开始时,如七皇之剑) 3451 | ---@return boolean 3452 | function Duel.CheckPhaseActivity() end 3453 | 3454 | ---设置操作类型为activity_type、代号为counter_id的计数器,放在initial_effect函数内 3455 | ---f为过滤函数,以Card类型为参数,返回值为false的卡片进行以下类型的操作,计数器增加1(目前最多为1) 3456 | ---@param counter_id integer 3457 | ---@param activity_type integer 3458 | ---@param f function 3459 | function Duel.AddCustomActivityCounter(counter_id,activity_type,f) end 3460 | 3461 | ---代号为counter_id的计数器的计数,返回player进行以下操作的次数(目前最多为1) 3462 | ---@return integer 3463 | ---@param counter_id integer 3464 | ---@param player integer 3465 | ---@param activity_type integer 3466 | function Duel.GetCustomActivityCount(counter_id,player,activity_type) end 3467 | 3468 | ---返回玩家player这回合战斗过的次数 3469 | ---@return integer 3470 | ---@param player integer 3471 | function Duel.GetBattledCount(player) end 3472 | 3473 | ---检查回合玩家能否进入战斗阶段 3474 | ---@return boolean 3475 | function Duel.IsAbleToEnterBP() end 3476 | 3477 | ---现世与冥界的逆转专用。把玩家player的卡组和墓地交换 3478 | ---@param player integer 3479 | function Duel.SwapDeckAndGrave(player) end 3480 | 3481 | ---救世星龙专用。把c2记述的效果复制给c1 3482 | ---强制发动的效果可以选择是否发动 3483 | ---@param c1 Card 3484 | ---@param c2 Card 3485 | function Duel.MajesticCopy(c1,c2) end 3486 | 3487 | ---新建一个空效果 3488 | ---并且效果的Owner为c 3489 | ---@return Effect 3490 | ---@param c Card 3491 | function Effect.CreateEffect(c) end 3492 | 3493 | ---新建一个全局效果 3494 | ---@return Effect 3495 | function Effect.GlobalEffect() end 3496 | 3497 | ---新建一个效果e的副本 3498 | ---@return Effect 3499 | ---@param e Effect 3500 | function Effect.Clone(e) end 3501 | 3502 | ---把效果e重置,重置之后不可以再使用此效果 3503 | ---@param e Effect 3504 | function Effect.Reset(e) end 3505 | 3506 | ---获取效果e的id 3507 | ---@return integer 3508 | ---@param e Effect 3509 | function Effect.GetFieldID(e) end 3510 | 3511 | ---为效果e设置效果描述 3512 | ---@param e Effect 3513 | ---@param desc integer 3514 | function Effect.SetDescription(e,desc) end 3515 | 3516 | ---为效果e设置Code属性 3517 | ---@param e Effect 3518 | ---@param code integer 3519 | function Effect.SetCode(e,code) end 3520 | 3521 | ---为效果e设置Range属性,即e的生效位置 3522 | ---@param e Effect 3523 | ---@param range integer 3524 | function Effect.SetRange(e,range) end 3525 | 3526 | ---为效果e设置Target Range属性 3527 | --- s_range指影响的我方区域 3528 | --- o_range值影响的对方区域 3529 | --- 如果property属性中指定了EFFECT_FLAG_ABSOLUTE_RANGE标志, 3530 | --- 那么s_range指玩家1受到影响的区域,o_range指玩家2受到影响的区域 3531 | --- 如果这是一个召唤(覆盖)/限制召唤(覆盖)/特殊召唤手续 3532 | --- (EFFECT_SUMMON_PROC/EFFECT_LIMIT_SUMMON_PROC/EFFECT_SPSUMMON_PROC等)的效果, 3533 | --- 并且property指定了EFFECT_FLAG_SPSUM_PARAM标志, 3534 | --- 那么s_range表示特殊召唤到的哪个玩家的场地, 3535 | --- o_range表示可选择的表示形式 3536 | ---@param e Effect 3537 | ---@param s_range integer 3538 | ---@param o_range integer 3539 | function Effect.SetTargetRange(e,s_range,o_range) end 3540 | 3541 | ---设置target range属性并设置 EFFECT_FLAG_ABSOLUTE_TARGET 标志 3542 | --- playerid != 0 s_range和o_range反转 3543 | ---@param e Effect 3544 | ---@param playerid integer 3545 | ---@param s_range integer 3546 | ---@param o_range integer 3547 | function Effect.SetAbsoluteRange(e,playerid,s_range,o_range) end 3548 | 3549 | ---设置一回合可以发动的次数count(仅触发型效果有效),相同的code(不等于0或1时)共用1个次数 3550 | ---code包含以下数值具有特殊的性质 3551 | ---EFFECT_COUNT_CODE_OATH 誓约使用次数 3552 | ---EFFECT_COUNT_CODE_DUEL 决斗中使用次数 3553 | ---EFFECT_COUNT_CODE_SINGLE 同一张卡多个效果公共使用次数(不限制同名卡) 3554 | ---@param e Effect 3555 | ---@param count integer default: 1 3556 | ---@param code? integer default: 0 3557 | function Effect.SetCountLimit(e,count,code) end 3558 | 3559 | ---设置reset参数 3560 | ---@param e Effect 3561 | ---@param reset_flag integer 3562 | ---@param reset_count? integer default: 1 3563 | function Effect.SetReset(e,reset_flag,reset_count) end 3564 | 3565 | ---为效果e设置Type属性 3566 | ---@param e Effect 3567 | ---@param type integer 3568 | function Effect.SetType(e,type) end 3569 | 3570 | ---设置Property属性 3571 | ---@param e Effect 3572 | ---@param prop1 integer 3573 | ---@param prop2? integer 3574 | function Effect.SetProperty(e,prop1,prop2) end 3575 | 3576 | ---设置Label属性 3577 | ---@param e Effect 3578 | ---@param ... integer 3579 | function Effect.SetLabel(e,...) end 3580 | 3581 | ---设置LabelObject属性 3582 | ---@param e Effect 3583 | ---@param labelobject Card|Group|Effect 3584 | function Effect.SetLabelObject(e,labelobject) end 3585 | 3586 | ---设置Category属性 3587 | ---@param e Effect 3588 | ---@param cate integer 3589 | function Effect.SetCategory(e,cate) end 3590 | 3591 | ---设置提示时点,第二个和第三个参数分别表示 自己 和对方的回合 3592 | ---@param e Effect 3593 | ---@param s_time integer 3594 | ---@param o_time? integer default: s_time 3595 | function Effect.SetHintTiming(e,s_time,o_time) end 3596 | 3597 | ---设置Condition属性 3598 | ---@param e Effect 3599 | ---@param con_func function 3600 | function Effect.SetCondition(e,con_func) end 3601 | 3602 | ---设置Target属性 3603 | ---@param e Effect 3604 | ---@param targ_func function 3605 | function Effect.SetTarget(e,targ_func) end 3606 | 3607 | ---设置Cost属性 3608 | ---@param e Effect 3609 | ---@param cost_func function 3610 | function Effect.SetCost(e,cost_func) end 3611 | 3612 | ---设置Value属性 3613 | ---@param e Effect 3614 | ---@param val function|integer|boolean 3615 | function Effect.SetValue(e,val) end 3616 | 3617 | ---设置Operation属性 3618 | ---@param e Effect 3619 | ---@param op_func nil|function 3620 | function Effect.SetOperation(e,op_func) end 3621 | 3622 | ---设置OwnerPlayer属性为player 3623 | ---@param e Effect 3624 | ---@param player? integer default: 0 3625 | function Effect.SetOwnerPlayer(e,player) end 3626 | 3627 | ---返回效果描述 3628 | ---@return integer 3629 | ---@param e Effect 3630 | function Effect.GetDescription(e) end 3631 | 3632 | ---返回code属性 3633 | ---@return integer 3634 | ---@param e Effect 3635 | function Effect.GetCode(e) end 3636 | 3637 | ---返回Type属性 3638 | ---@return integer 3639 | ---@param e Effect 3640 | function Effect.GetType(e) end 3641 | 3642 | ---返回Property属性 3643 | ---@return integer 3644 | ---@return integer 3645 | ---@param e Effect 3646 | function Effect.GetProperty(e) end 3647 | 3648 | ---返回Label属性 3649 | ---@return ... integer 3650 | ---@param e Effect 3651 | function Effect.GetLabel(e) end 3652 | 3653 | ---返回LabelObject属性 3654 | ---@return Card|Group|Effect 3655 | ---@param e Effect 3656 | function Effect.GetLabelObject(e) end 3657 | 3658 | ---返回Category属性 3659 | ---@return integer 3660 | ---@param e Effect 3661 | function Effect.GetCategory(e) end 3662 | 3663 | ---返回Range属性 3664 | ---@return integer 3665 | ---@param e Effect 3666 | function Effect.GetRange(e) end 3667 | 3668 | ---返回Owner属性 3669 | ---@return Card 3670 | ---@param e Effect 3671 | function Effect.GetOwner(e) end 3672 | 3673 | ---返回效果在哪一张卡上生效(通常是用Card.RegisterEffect注册该效果的卡) 3674 | ---@return Card 3675 | ---@param e Effect 3676 | function Effect.GetHandler(e) end 3677 | 3678 | ---返回condition属性 3679 | ---@return function 3680 | ---@param e Effect 3681 | function Effect.GetCondition(e) end 3682 | 3683 | ---返回target属性 3684 | ---@return function 3685 | ---@param e Effect 3686 | function Effect.GetTarget(e) end 3687 | 3688 | ---返回cost属性 3689 | ---@return function 3690 | ---@param e Effect 3691 | function Effect.GetCost(e) end 3692 | 3693 | ---返回value属性 3694 | ---@return function|integer 3695 | ---@param e Effect 3696 | function Effect.GetValue(e) end 3697 | 3698 | ---返回operation属性 3699 | ---@return function 3700 | ---@param e Effect 3701 | function Effect.GetOperation(e) end 3702 | 3703 | ---返回e的效果类型(怪兽·魔法·陷阱) 3704 | ---与发动该效果的卡的类型不一定相同,比如灵摆效果视为魔法卡的效果 3705 | ---@return integer 3706 | ---@param e Effect 3707 | function Effect.GetActiveType(e) end 3708 | 3709 | ---检查e的效果类型(怪兽·魔法·陷阱)是否有type 3710 | ---@return boolean 3711 | ---@param e Effect 3712 | ---@param type integer 3713 | function Effect.IsActiveType(e,type) end 3714 | 3715 | ---返回OwnerPlayer属性(发动效果、建立效果的玩家) 3716 | ---若無OwnerPlayer属性,则是Owner的控制者 3717 | ---@return integer 3718 | ---@param e Effect 3719 | function Effect.GetOwnerPlayer(e) end 3720 | 3721 | ---返回当前玩家,一般是Handler的控制者 3722 | ---@return integer 3723 | ---@param e Effect 3724 | function Effect.GetHandlerPlayer(e) end 3725 | 3726 | ---检查效果是否含有标志prop1[和prop2] 3727 | ---@return boolean 3728 | ---@param e Effect 3729 | ---@param prop1 integer 3730 | ---@param prop2? integer 3731 | function Effect.IsHasProperty(e,prop1,prop2) end 3732 | 3733 | ---检查效果是否含有效果分类cate 3734 | ---@return boolean 3735 | ---@param e Effect 3736 | ---@param cate integer 3737 | function Effect.IsHasCategory(e,cate) end 3738 | 3739 | ---检查效果是否属于类型type 3740 | ---@return boolean 3741 | ---@param e Effect 3742 | ---@param type integer 3743 | function Effect.IsHasType(e,type) end 3744 | 3745 | ---检查效果是否含有区域range 3746 | ---@return boolean 3747 | ---@param e Effect 3748 | ---@param range integer 3749 | function Effect.IsHasRange(e,range) end 3750 | 3751 | ---检查效果e能否由player发动 3752 | ---neglect_loc=true 为不检测发动位置(手卡), neglect_target=true 为不检测对象要求 3753 | ---@return boolean 3754 | ---@param e Effect 3755 | ---@param player integer 3756 | ---@param neglect_loc? boolean default: false 3757 | ---@param neglect_target? boolean default: false 3758 | function Effect.IsActivatable(e,player,neglect_loc,neglect_target) end 3759 | 3760 | ---检查效果e是否是已发动的效果 3761 | ---@return boolean 3762 | ---@param e Effect 3763 | function Effect.IsActivated(e) end 3764 | 3765 | ---检查效果e是否检查过cost,即是否是被复制的 3766 | ---@return boolean 3767 | ---@param e Effect 3768 | function Effect.IsCostChecked(e) end 3769 | 3770 | ---设置效果e的cost检查标记为b 3771 | ---@param e Effect 3772 | ---@param b boolean 3773 | function Effect.SetCostCheck(e,b) end 3774 | 3775 | ---返回效果e的发动区域 3776 | ---@return integer 3777 | ---@param e Effect 3778 | function Effect.GetActivateLocation(e) end 3779 | 3780 | ---返回效果e的发动区域序号 3781 | ---@return integer 3782 | ---@param e Effect 3783 | function Effect.GetActivateSequence(e) end 3784 | 3785 | ---检测玩家 p 是否还有可以发动的效果 e 的次数 3786 | ---@return boolean 3787 | ---@param e Effect 3788 | ---@param p integer 3789 | function Effect.CheckCountLimit(e,p) end 3790 | 3791 | ---手动减少玩家 p 对效果 e 的 count 个可用次数[ oath_only 为 该效果是否是 EFFECT_FLAG_OATH] 3792 | ---@param e Effect 3793 | ---@param p integer 3794 | ---@param count? integer default: 1 3795 | ---@param oath_only? boolean default: false 3796 | function Effect.UseCountLimit(e,p,count,oath_only) end 3797 | 3798 | ---@class Group 3799 | ---@operator add(Group|Card): Group 3800 | 3801 | ---@class Group 3802 | ---@operator sub(Group|Card): Group 3803 | 3804 | ---新建一个空的卡片组 3805 | ---@return Group 3806 | function Group.CreateGroup() end 3807 | 3808 | ---让卡片组持续,把卡片组设置为效果的LabelObject需要设置 3809 | ---@param g Group 3810 | function Group.KeepAlive(g) end 3811 | 3812 | ---删除卡片组g 3813 | ---@param g Group 3814 | function Group.DeleteGroup(g) end 3815 | 3816 | ---新建卡片组g的副本 3817 | ---@return Group 3818 | ---@param g Group 3819 | function Group.Clone(g) end 3820 | 3821 | ---不定参数,把传入的所有卡组合成一个卡片组并返回,所有参数只能是 Card 类型。 3822 | ---没有参数时,相当于Group.CreateGroup() 3823 | ---@return Group 3824 | ---@param ... Card 3825 | function Group.FromCards(...) end 3826 | 3827 | ---清空卡片组 3828 | ---@param g Group 3829 | function Group.Clear(g) end 3830 | 3831 | ---往g中增加c 3832 | ---@param g Group 3833 | ---@param c Card 3834 | function Group.AddCard(g,c) end 3835 | 3836 | ---把c从g中移除 3837 | ---@param g Group 3838 | ---@param c Card 3839 | function Group.RemoveCard(g,c) end 3840 | 3841 | ---使指针指向下一张卡并返回这张卡,如果不存在则返回nil 3842 | ---@return Card 3843 | ---@param g Group 3844 | function Group.GetNext(g) end 3845 | 3846 | ---返回g中第一张卡,并重置当前指针到g中第一张卡 3847 | ---如果g中不存在卡则返回nil 3848 | ---@return Card 3849 | ---@param g Group 3850 | function Group.GetFirst(g) end 3851 | 3852 | ---返回g中卡的数量 3853 | ---@return integer 3854 | ---@param g Group 3855 | function Group.GetCount(g) end 3856 | 3857 | ---以g中的每一张卡作为参数调用一次f ,第三个参数开始为额外参数 3858 | ---@param g Group 3859 | ---@param f function 3860 | ---@param ... any 3861 | function Group.ForEach(g,f,...) end 3862 | 3863 | ---过滤函数,从g中筛选满足筛选条件f并且不等于ex的卡 3864 | ---从第4个参数开始为额外参数 3865 | ---@return Group 3866 | ---@param g Group 3867 | ---@param f function 3868 | ---@param ex Card|Group|nil 3869 | ---@param ... any 3870 | function Group.Filter(g,f,ex,...) end 3871 | 3872 | ---过滤函数,和Group.Filter基本相同,不同之处在于此函数只返回满足条件的卡的数量 3873 | ---@return integer 3874 | ---@param g Group 3875 | ---@param f function 3876 | ---@param ex Card|Group|nil 3877 | ---@param ... any 3878 | function Group.FilterCount(g,f,ex,...) end 3879 | 3880 | ---过滤函数,让玩家player从g中选择 min-max 张满足筛选条件f并且不等于ex的卡 3881 | ---从第7个参数开始为额外参数 3882 | ---@return Group 3883 | ---@param g Group 3884 | ---@param player integer 3885 | ---@param f function 3886 | ---@param min integer 3887 | ---@param max integer 3888 | ---@param ex Card|Group|nil 3889 | ---@param ... any 3890 | function Group.FilterSelect(g,player,f,min,max,ex,...) end 3891 | 3892 | ---让玩家player从g中选择min-max张不等于ex的卡 3893 | ---@return Group 3894 | ---@param g Group 3895 | ---@param player integer 3896 | ---@param min integer 3897 | ---@param max integer 3898 | ---@param ex Card|Group|nil 3899 | function Group.Select(g,player,min,max,ex) end 3900 | 3901 | ---让玩家 player 从 cg 中选择 1 张卡放入 sg ,并返回选的卡。 3902 | ---btok 表示是否可以点击完成选择的按钮, cancelable 表示是否可以取消整个选择返回 nil, 3903 | ---minc 和 maxc 是客户端的文字缓冲提示,表示需要选择 minc-maxc 张卡,但是这个只是影响视觉效果,并不代表必须要选择那个数量 3904 | ---@return Card|nil 3905 | ---@param cg Group 3906 | ---@param sg Group|nil 已选的卡,可以从中取消选择 3907 | ---@param player integer 3908 | ---@param btok boolean default: false 3909 | ---@param cancelable boolean default: false 3910 | ---@param minc integer 3911 | ---@param maxc integer 3912 | function Group.SelectUnselect(cg,sg,player,btok,cancelable,minc,maxc) end 3913 | 3914 | ---让玩家player从g中随机选择count张卡 3915 | ---因为是随机选择,所以参数player基本无用,由系统随机选取 3916 | ---@return Group 3917 | ---@param g Group 3918 | ---@param player integer 3919 | ---@param count integer 3920 | function Group.RandomSelect(g,player,count) end 3921 | 3922 | ---让玩家player从g中选择min-max张不等于ex的卡,可以取消并返回nil 3923 | ---@return Group 3924 | ---@param g Group 3925 | ---@param player integer 3926 | ---@param min integer 3927 | ---@param max integer 3928 | ---@param ex Card|Group|nil 3929 | function Group.CancelableSelect(g,player,min,max,ex) end 3930 | 3931 | ---过滤函数,检查g中是否存在至少count张满足筛选条件f并且不等于ex的卡 3932 | ---从第5个参数开始为额外参数 3933 | ---@return boolean 3934 | ---@param g Group 3935 | ---@param f function 3936 | ---@param count integer 3937 | ---@param ex Card|Group|nil 3938 | ---@param ... any 3939 | function Group.IsExists(g,f,count,ex,...) end 3940 | 3941 | ---子集求和判定函数,f为返回一个interger值的函数 3942 | ---检查g中是否存在一个数量为min-max的子集满足以f对子集的每一个元素求值的和等于sum,从第6个参数开始为额外参数 3943 | --- 比如:g:CheckWithSumEqual(Card.GetSynchroLevel,7,2,99) 3944 | --- 检查g中是否存在一个子集满足子集的同调用等级之和等于7 3945 | ---@return boolean 3946 | ---@param g Group 3947 | ---@param f function 3948 | ---@param sum integer 3949 | ---@param min integer default: 0 3950 | ---@param max integer 3951 | ---@param ... any 3952 | function Group.CheckWithSumEqual(g,f,sum,min,max,...) end 3953 | 3954 | ---让玩家player从g中选取一个数量为min-max的子集使子集的特定函数的和等于sum,从第7个参数开始为额外参数 3955 | ---@return Group 3956 | ---@param g Group 3957 | ---@param player integer 3958 | ---@param f function 3959 | ---@param sum integer 3960 | ---@param min integer 3961 | ---@param max integer 3962 | ---@param ... any 3963 | function Group.SelectWithSumEqual(g,player,f,sum,min,max,...) end 3964 | 3965 | ---子集求和判定函数之二,f为返回一个interger值的函数 3966 | ---检查g中是否存在一个子集满足以f对子集的每一个元素求值的和刚好大于或者等于sum,从第4个参数开始为额外参数 3967 | ---比如:g:CheckWithSumGreater(Card.GetRitualLevel,8) 3968 | --- 检查g中是否存在一个子集满足子集的仪式用等级之和大于等于8 3969 | --- 注:判定必须是“刚好”大于或者等于 3970 | --- 以等级为例,要使等级合计大于等于8,可以选择LV1+LV7而不可以选择LV1+LV4+LV4 3971 | ---@return boolean 3972 | ---@param g Group 3973 | ---@param f function 3974 | ---@param sum integer 3975 | ---@param ... any 3976 | function Group.CheckWithSumGreater(g,f,sum,...) end 3977 | 3978 | ---让玩家player从g中选取一个子集使子集的特定函数f的和大于等于sum,从第5个参数开始为额外参数 3979 | ---@return Group 3980 | ---@param g Group 3981 | ---@param player integer 3982 | ---@param f function 3983 | ---@param sum integer 3984 | ---@param ... any 3985 | function Group.SelectWithSumGreater(g,player,f,sum,...) end 3986 | 3987 | ---f为返回一个interger值的函数,从g中筛选出具有最小的f的值的卡 3988 | ---第2个返回值为这个最小值,从第3个参数开始为额外参数 3989 | ---要使用第2个返回值注意检查g非空 3990 | ---@return Group 3991 | ---@return integer 3992 | ---@param g Group 3993 | ---@param f function 3994 | ---@param ... any 3995 | function Group.GetMinGroup(g,f,...) end 3996 | 3997 | ---f为返回一个interger值的函数,从g中筛选出具有最大的f的值的卡 3998 | ---第2个返回值为这个最大值,从第3个参数开始为额外参数 3999 | ---要使用第2个返回值注意检查g非空 4000 | ---@return Group 4001 | ---@return integer 4002 | ---@param g Group 4003 | ---@param f function 4004 | ---@param ... any 4005 | function Group.GetMaxGroup(g,f,...) end 4006 | 4007 | ---计算g中所有卡的取值的总和,f为为每张卡的取值函数,从第3个参数开始为额外参数 4008 | ---@return integer 4009 | ---@param g Group 4010 | ---@param f function 4011 | ---@param ... any 4012 | function Group.GetSum(g,f,...) end 4013 | 4014 | ---计算g中所有卡的种类数量,f为分类的依据,返回相同的值视为同一种类,从第3个参数开始为额外参数 4015 | ---比如 g:GetClassCount(Card.GetCode()) 就是计算g中卡名不同的卡的数量 4016 | ---@return integer 4017 | ---@param g Group 4018 | ---@param f function 4019 | ---@param ... any 4020 | function Group.GetClassCount(g,f,...) end 4021 | 4022 | ---从g中移除满足筛选条件f并且不等于ex的所有卡,第4个参数开始是额外参数 4023 | ---@param g Group 4024 | ---@param f function 4025 | ---@param ex Card|nil 4026 | ---@param ... any 4027 | function Group.Remove(g,f,ex,...) end 4028 | 4029 | ---把g2中的所有卡合并到g1,若g1中原本就有属于g2的卡,那些卡将不会重复 4030 | ---注:g2本身不会发生变化 4031 | ---@param g1 Group 4032 | ---@param g2 Group 4033 | function Group.Merge(g1,g2) end 4034 | 4035 | ---从g1中移除属于g2中的卡 4036 | ---注:g2本身不会发生变化 4037 | ---@param g1 Group 4038 | ---@param g2 Group 4039 | function Group.Sub(g1,g2) end 4040 | 4041 | ---判断g1和g2是否相同 4042 | ---@return boolean 4043 | ---@param g1 Group 4044 | ---@param g2 Group 4045 | function Group.Equal(g1,g2) end 4046 | 4047 | ---检查g中是否存在卡片c 4048 | ---@return boolean 4049 | ---@param g Group 4050 | ---@param c Card 4051 | function Group.IsContains(g,c) end 4052 | 4053 | ---过滤函数,返回g中满足筛选条件f的第一张卡,若没有则返回nil,从第3个参数开始为额外参数 4054 | ---@return Card 4055 | ---@param g Group 4056 | ---@param f function 4057 | ---@param ... any 4058 | function Group.SearchCard(g,f,...) end 4059 | 4060 | ---和 Group.GetClassCount 类似,但是算法不同(使用位运算) 4061 | ---@return integer 4062 | ---@param g Group 4063 | ---@param f function 4064 | ---@param ... any 4065 | function Group.GetBinClassCount(g,f,...) end 4066 | 4067 | ---显示消息。 4068 | ---注意,只会在本地生效,在服务器端不会生效。 4069 | ---@param msg any 4070 | function Debug.Message(msg) end 4071 | 4072 | ---添加卡片,将卡号为code的卡片的持有者设置为owner,以表示形式pos放置在player的场上位于location上序号为seq的格子处 4073 | ---proc=true则完成正规召唤程序(即解除苏生限制) 4074 | ---@return Card 4075 | ---@param code integer 4076 | ---@param owner integer 4077 | ---@param player integer 4078 | ---@param location integer 4079 | ---@param seq integer 4080 | ---@param pos integer 4081 | ---@param proc? boolean default: false 4082 | function Debug.AddCard(code,owner,player,location,seq,pos,proc) end 4083 | 4084 | ---设置玩家信息,基本分为lp,初始手卡为startcount张,每回合抽drawcount张 4085 | ---在残局当中, playerid :自己=0,对方=1 4086 | ---@param playerid integer 4087 | ---@param lp integer 4088 | ---@param startcount integer 4089 | ---@param drawcount integer 4090 | function Debug.SetPlayerInfo(playerid,lp,startcount,drawcount) end 4091 | 4092 | ---设置卡片c的召唤信息:以 sum_type 方法(通常召唤、特殊召唤等)[从 sum_location]出场 4093 | ---@param c Card 4094 | ---@param sum_type integer 4095 | ---@param sum_location? integer default: 0 4096 | function Debug.PreSummon(c,sum_type,sum_location) end 4097 | 4098 | ---为target添加装备equip_card ,返回值表示是否成功 4099 | ---@return boolean 4100 | ---@param equip_card Card 4101 | ---@param target Card 4102 | function Debug.PreEquip(equip_card,target) end 4103 | 4104 | ---把target选为c的永续对象 4105 | ---@param c Card 4106 | ---@param target Card 4107 | function Debug.PreSetTarget(c,target) end 4108 | 4109 | ---为c添加count个counter_type的指示物 4110 | ---@param c Card 4111 | ---@param counter_type integer 4112 | ---@param count? integer default: 0 4113 | function Debug.PreAddCounter(c,counter_type,count) end 4114 | 4115 | ---以选项flag开始布局 4116 | --- flag 残局: DUEL_ATTACK_FIRST_TURN|DUEL_SIMPLE_AI 4117 | --- 大师规则1: DUEL_OBSOLETE_RULING 4118 | --- rule=5 是大师规则2020 4119 | ---@param flag integer 4120 | ---@param rule? integer default: 5 4121 | function Debug.ReloadFieldBegin(flag,rule) end 4122 | 4123 | ---布局结束 4124 | function Debug.ReloadFieldEnd() end 4125 | 4126 | ---设置AI的名字,最大长度 100 个字符(1个汉字2个字符) 4127 | ---@param name string 4128 | function Debug.SetAIName(name) end 4129 | 4130 | ---显示消息提示框,最大长度 1024 个字符(1个汉字2个字符) 4131 | ---注意,只会在本地生效,在服务器端不会生效。 4132 | ---@param msg string 4133 | function Debug.ShowHint(msg) end 4134 | --------------------------------------------------------------------------------