游戏王残局简化版

Annotation For single_doc/def.lua
Login

Annotation For single_doc/def.lua

Lines of single_doc/def.lua from check-in 554fa89569 that are changed by the sequence of edits moving toward check-in 4f08f247d9:

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