游戏王残局简化版

Annotation For script/c0.lua
Login

Annotation For script/c0.lua

Origin for each line in script/c0.lua from check-in a7e2397f50:

6d182363a9 2023-06-30    1: str = {}
6d182363a9 2023-06-30    2: fun = {}
d95f494908 2023-06-30    3: 
d95f494908 2023-06-30    4: str["Debug.ReloadFieldBegin"] = Debug.ReloadFieldBegin
d95f494908 2023-06-30    5: 
d95f494908 2023-06-30    6: Debug.ReloadFieldBegin = function(str_1, str_2)
29959a9986 2023-06-30    7:   str["不洗牌"] = str_1 & DUEL_PSEUDO_SHUFFLE
4be88097db 2023-07-05    8:   str["无BP"] = str_1 & DUEL_ATTACK_FIRST_TURN
935340b0b8 2023-06-30    9:   if str_2 then
935340b0b8 2023-06-30   10:     if str_2 == 3 then
36a332440b 2023-06-30   11:     str["规则"] = "大师3 "
935340b0b8 2023-06-30   12:     elseif str_2 == 4 then
36a332440b 2023-06-30   13:       str["规则"] = "新大师 "
8210af4dfb 2023-07-01   14:     elseif str_2 == 5 then
8210af4dfb 2023-07-01   15:       str["规则"] = "大师2020 "
935340b0b8 2023-06-30   16:       end
ab8e787d19 2023-06-30   17:   else
36a332440b 2023-06-30   18:     str["规则"] = "大师2020 "
935340b0b8 2023-06-30   19:     end
2ed229a931 2023-06-30   20:   str["Debug.ReloadFieldBegin"](str_1, str_2)
d95f494908 2023-06-30   21:   end
d95f494908 2023-06-30   22: 
2db39687e5 2023-07-09   23: fun["通关邀请"] = function()
c3f96fe46f 2023-06-29   24:   effect_1 = Effect.GlobalEffect()
c3f96fe46f 2023-06-29   25:   effect_1:SetType(EFFECT_TYPE_FIELD
c3f96fe46f 2023-06-29   26:     + EFFECT_TYPE_CONTINUOUS)
c3f96fe46f 2023-06-29   27:   effect_1:SetCode(EVENT_DAMAGE)
c3f96fe46f 2023-06-29   28:   function cache_1()
c3f96fe46f 2023-06-29   29:     cache_1 = Duel.GetLP(1)
fe3054fa0e 2023-06-29   30:     if cache_1 <= 0 then
4b62d7ac4f 2023-07-08   31:       if cache_1 < 0 then
8d054eb240 2023-07-09   32:         Debug.ShowHint("QB:「你居然二解了,请加群告诉我怎么二解。」")
4b62d7ac4f 2023-07-08   33:         end
c3f96fe46f 2023-06-29   34:       cache_1 = true
c3f96fe46f 2023-06-29   35:     else
c3f96fe46f 2023-06-29   36:       cache_1 = false
c3f96fe46f 2023-06-29   37:       end
c3f96fe46f 2023-06-29   38:     return cache_1
c3f96fe46f 2023-06-29   39:     end
c3f96fe46f 2023-06-29   40:   effect_1:SetCondition(cache_1)
c078118c2a 2023-07-09   41:   function cache_1()
c078118c2a 2023-07-09   42:     Debug.ShowHint("残局群181175613")
c3f96fe46f 2023-06-29   43:     return
c3f96fe46f 2023-06-29   44:     end
c3f96fe46f 2023-06-29   45:   effect_1:SetOperation(cache_1)
78d7353d8f 2023-06-29   46:   Duel.RegisterEffect(effect_1
78d7353d8f 2023-06-29   47:     , 0)
78d7353d8f 2023-06-29   48:   end
78d7353d8f 2023-06-29   49: 
78d7353d8f 2023-06-29   50: fun["是否效果卡"] = function(card)
d2dde12476 2023-06-29   51:   cache_1 = Card.IsType(card, TYPE_SPELL)
d2dde12476 2023-06-29   52:   cache_2 = Card.IsType(card, TYPE_TRAP)
d2dde12476 2023-06-29   53:   cache_3 = Card.IsType(card, TYPE_EFFECT)
d2dde12476 2023-06-29   54:   if cache_1
d2dde12476 2023-06-29   55:   or cache_2
6f3de2e0f3 2023-07-04   56:   or cache_3 then
e7130db7c4 2023-06-29   57:     return true
cc327b2c58 2023-07-04   58:     end
cc327b2c58 2023-07-04   59:   cache_1 = Card.IsType(card, TYPE_PENDULUM)
cc327b2c58 2023-07-04   60:   if cache_1 then
d8d61432b6 2023-07-04   61:     cache_1 = Card.IsCode(card, 28363749)
d8d61432b6 2023-07-04   62:     cache_2 = Card.IsCode(card, 19474136)
1d09fc48b2 2023-07-04   63:     cache_3 = Card.IsCode(card, 17390179)
1d09fc48b2 2023-07-04   64:     cache_4 = Card.IsCode(card, 83980492)
1d09fc48b2 2023-07-04   65:     if cache_1
1d09fc48b2 2023-07-04   66:     or cache_2
1d09fc48b2 2023-07-04   67:     or cache_3
1d09fc48b2 2023-07-04   68:     or cache_4 then
5c3d90f056 2023-07-04   69:     else
1d09fc48b2 2023-07-04   70:       return true
1d09fc48b2 2023-07-04   71:       end
567a672978 2023-07-01   72:     end
e7130db7c4 2023-06-29   73:   return false
e7130db7c4 2023-06-29   74:   end
e7130db7c4 2023-06-29   75: 
648e2ae3c0 2023-07-08   76: fun["开局说明"] = function()
567a672978 2023-07-01   77:   if str["开局说明吗"] == 1 then
7592a88912 2023-07-01   78:     return
7592a88912 2023-07-01   79:   else
567a672978 2023-07-01   80:     str["开局说明吗"] = 1
7592a88912 2023-07-01   81:     end
ff0aefc8cb 2023-06-30   82:   cache_1 = 0
0c34cecc84 2023-06-30   83:   cache_1 = cache_1 + LOCATION_DECK
0c34cecc84 2023-06-30   84:   cache_1 = cache_1 + LOCATION_HAND
0c34cecc84 2023-06-30   85:   cache_1 = cache_1 + LOCATION_MZONE
0c34cecc84 2023-06-30   86:   cache_1 = cache_1 + LOCATION_SZONE
0c34cecc84 2023-06-30   87:   cache_1 = cache_1 + LOCATION_GRAVE
0c34cecc84 2023-06-30   88:   cache_1 = cache_1 + LOCATION_REMOVED
0c34cecc84 2023-06-30   89:   cache_1 = cache_1 + LOCATION_EXTRA
fb59790a7b 2023-06-30   90:   str["这个残局的效果卡数量"] = Duel.GetMatchingGroupCount(fun["是否效果卡"],0,cache_1,cache_1,nil)
4e48d105e5 2023-06-30   91:   cache_1 = Duel.GetOverlayGroup(0, LOCATION_MZONE, LOCATION_MZONE)
4e48d105e5 2023-06-30   92:   for k in aux.Next(cache_1) do
4e48d105e5 2023-06-30   93:     cache_1 = fun["是否效果卡"](k)
4e48d105e5 2023-06-30   94:     if cache_1 then
4e48d105e5 2023-06-30   95:       str["这个残局的效果卡数量"] = str["这个残局的效果卡数量"] + 1
4e48d105e5 2023-06-30   96:       end
4e48d105e5 2023-06-30   97:     end
06ee05c026 2023-06-30   98:   str["开局说明"] =""
fb59790a7b 2023-06-30   99:   str["开局说明"] = str["开局说明"] .. str["这个残局的效果卡数量"]
36a332440b 2023-06-30  100:   str["开局说明"] = str["开局说明"] .. "卡 "
fb59790a7b 2023-06-30  101:   str["开局说明"] = str["开局说明"] .. str["规则"]
3fd449f7a7 2023-06-30  102:   if str["不洗牌"] == 0 then
3fd449f7a7 2023-06-30  103:   else
36a332440b 2023-06-30  104:     str["开局说明"] = str["开局说明"] .. "伪洗牌 "
15b94d8040 2023-06-30  105:     end
be78d8f253 2023-07-05  106:   if str["无BP"] == 0 then
be78d8f253 2023-07-05  107:     str["开局说明"] = str["开局说明"] .. "无BP "
be78d8f253 2023-07-05  108:     end
15b94d8040 2023-06-30  109:   if str["开局添加手卡"] then
36a332440b 2023-06-30  110:     str["开局说明"] = str["开局说明"] .. "选"
15b94d8040 2023-06-30  111:     str["开局说明"] = str["开局说明"] .. str["开局添加手卡"]
36a332440b 2023-06-30  112:     str["开局说明"] = str["开局说明"] .. "卡 "
36a332440b 2023-06-30  113:     end
6a26890958 2023-07-06  114:   if str["禁格"] then
38127bc74b 2023-07-06  115:     str["开局说明"] = str["开局说明"] .. "禁"
38127bc74b 2023-07-06  116:     str["开局说明"] = str["开局说明"] .. str["禁格"]
38127bc74b 2023-07-06  117:     str["开局说明"] = str["开局说明"] .. "格 "
6a26890958 2023-07-06  118:     end
52e4f82c0b 2023-07-07  119:   if str["印卡"] then
52e4f82c0b 2023-07-07  120:     str["开局说明"] = str["开局说明"] .. "印卡 "
52e4f82c0b 2023-07-07  121:     end
fb59790a7b 2023-06-30  122:   Debug.ShowHint(str["开局说明"])
648e2ae3c0 2023-07-08  123:   fun["通关邀请"]()
32fa479c6d 2023-06-30  124:   end
32fa479c6d 2023-06-30  125: 
45467c0d0c 2023-06-30  126: fun["开局添加手卡"] = function(str_1)
32fa479c6d 2023-06-30  127:   str["开局添加手卡"] = str_1
32fa479c6d 2023-06-30  128:   effect_1 = Effect.GlobalEffect()
32fa479c6d 2023-06-30  129:   effect_1:SetType(EFFECT_TYPE_FIELD
32fa479c6d 2023-06-30  130:     + EFFECT_TYPE_CONTINUOUS)
32fa479c6d 2023-06-30  131:   effect_1:SetCode(EVENT_ADJUST)
32fa479c6d 2023-06-30  132:   effect_1:SetCountLimit(1)
32fa479c6d 2023-06-30  133:   function cache_1()
287a20cec6 2023-07-01  134:     if str["已添加手卡"] == 1 then
287a20cec6 2023-07-01  135:       return false
287a20cec6 2023-07-01  136:     else
287a20cec6 2023-07-01  137:       str["已添加手卡"] = 1
287a20cec6 2023-07-01  138:       return true
287a20cec6 2023-07-01  139:       end
32fa479c6d 2023-06-30  140:     end
32fa479c6d 2023-06-30  141:   effect_1:SetCondition(cache_1)
32fa479c6d 2023-06-30  142:   function cache_1(effect_event
32fa479c6d 2023-06-30  143:     , player_who_activate_the_effect)
32fa479c6d 2023-06-30  144:     str["玩家选定的卡"] = Duel.SelectMatchingCard(player_who_activate_the_effect
32fa479c6d 2023-06-30  145:        , Card.IsAbleToHand
32fa479c6d 2023-06-30  146:        , player_who_activate_the_effect
32fa479c6d 2023-06-30  147:        , LOCATION_DECK
32fa479c6d 2023-06-30  148:        , 0
32fa479c6d 2023-06-30  149:        , str_1
32fa479c6d 2023-06-30  150:        , str_1
32fa479c6d 2023-06-30  151:        , nil)
32fa479c6d 2023-06-30  152:     Duel.SendtoHand(str["玩家选定的卡"]
32fa479c6d 2023-06-30  153:       , nil
32fa479c6d 2023-06-30  154:       , REASON_RULE)
32fa479c6d 2023-06-30  155:     end
32fa479c6d 2023-06-30  156:   effect_1:SetOperation(cache_1)
32fa479c6d 2023-06-30  157:   Duel.RegisterEffect(effect_1
32fa479c6d 2023-06-30  158:     , 0)
dbd1c234df 2023-07-05  159:   fun["开局说明"]()
1700f9f25e 2023-07-06  160:   end
1700f9f25e 2023-07-06  161: 
1700f9f25e 2023-07-06  162: fun["禁格"] = function(str_1)
6a26890958 2023-07-06  163:   str["禁格"] = str_1
1700f9f25e 2023-07-06  164:   effect_1 = Effect.GlobalEffect()
1700f9f25e 2023-07-06  165:   effect_1:SetType(EFFECT_TYPE_FIELD)
6a26890958 2023-07-06  166:   effect_1:SetCode(EFFECT_USE_EXTRA_MZONE)
6a26890958 2023-07-06  167:   effect_1:SetValue(str_1)
264925f3bc 2023-07-07  168:   Duel.RegisterEffect(effect_1,0)
264925f3bc 2023-07-07  169:   end
264925f3bc 2023-07-07  170: 
bd625da610 2023-07-07  171: fun["印卡"] = function(str_1, str_2, str_3)
7bc4adacb6 2023-07-07  172:   str["印卡"] = 1
2ddc3f05f9 2023-07-07  173:   if str_3 then
2ddc3f05f9 2023-07-07  174:   else
2ddc3f05f9 2023-07-07  175:     str_3 = str_2
2ddc3f05f9 2023-07-07  176:     end
94bd545b2f 2023-07-07  177:   str["当前印卡数"] = 1
a2c4818549 2023-07-07  178:   effect_1 = Effect.CreateEffect(str_1)
c8084df530 2023-07-07  179:   effect_1:SetType(EFFECT_TYPE_IGNITION)
7bc4adacb6 2023-07-07  180:   effect_1:SetProperty(EFFECT_FLAG_BOTH_SIDE
c197dc7121 2023-07-07  181:     + EFFECT_FLAG_UNCOPYABLE
c71ce2ef3c 2023-07-07  182:     + EFFECT_FLAG_CANNOT_NEGATE
c71ce2ef3c 2023-07-07  183:     + EFFECT_FLAG_CANNOT_DISABLE)
086529037c 2023-07-07  184:   cache_1 = function()
086529037c 2023-07-07  185:     Duel.SetChainLimit(aux.FALSE)
086529037c 2023-07-07  186:     return true
086529037c 2023-07-07  187:     end
086529037c 2023-07-07  188:   effect_1:SetTarget(cache_1)
8c3917b8ab 2023-07-07  189:   effect_1:SetRange(LOCATION_EXTRA)
48b1ff2073 2023-07-07  190:   function print_hand(effect_event
48b1ff2073 2023-07-07  191:       , player_who_activate_the_effect)
6f74bff292 2023-07-07  192:     announce_card = Duel.AnnounceCard(player_who_activate_the_effect)
6f74bff292 2023-07-07  193:     card = Duel.CreateToken(player_who_activate_the_effect
6f74bff292 2023-07-07  194:       , announce_card)
bd625da610 2023-07-07  195:     if str["当前印卡数"] <= str_2 then
df472ff387 2023-07-07  196:       str["当前印卡数"] = str["当前印卡数"] + 1
df472ff387 2023-07-07  197:       Duel.SendtoHand(card,nil,REASON_RULE)
df472ff387 2023-07-07  198:     else
bd625da610 2023-07-07  199:       if str["当前印卡数"] <= str_3 then
7cf8de5797 2023-07-07  200:         str["当前印卡数"] = str["当前印卡数"] + 1
7cf8de5797 2023-07-07  201:         Duel.Remove(card,POS_FACEUP,REASON_RULE)
7cf8de5797 2023-07-07  202:         Duel.SendtoDeck(card,player_who_activate_the_effect,0,REASON_RULE)
7cf8de5797 2023-07-07  203:       else
7cf8de5797 2023-07-07  204:         Debug.ShowHint("印卡过多!")
6fd7ae5db6 2023-07-07  205:         end
8c94409d80 2023-07-07  206:       end
8c94409d80 2023-07-07  207:     end
8c94409d80 2023-07-07  208:   effect_1:SetOperation(print_hand)
8c94409d80 2023-07-07  209:   str_1:RegisterEffect(effect_1)
ceb9febbb2 2023-07-11  210:   end
ceb9febbb2 2023-07-11  211:   
ceb9febbb2 2023-07-11  212: fun["全部回到卡组"] = function
dd5b141932 2023-07-11  213:   effect_1 = Effect.GlobalEffect()
dd5b141932 2023-07-11  214:   
dd5b141932 2023-07-11  215:   effect_1:SetType(EFFECT_TYPE_FIELD
dd5b141932 2023-07-11  216:   + EFFECT_TYPE_CONTINUOUS)
dd5b141932 2023-07-11  217:   
ac336880d2 2023-07-11  218:   effect_1:SetCode(EVENT_ADJUST)
ac336880d2 2023-07-11  219:   
b166812099 2023-07-11  220:   cache_1 = function
263e2172f9 2023-07-11  221:     cache_1 = 0
263e2172f9 2023-07-11  222:     cache_1 = cache_1 + LOCATION_HAND
263e2172f9 2023-07-11  223:     cache_1 = cache_1 + LOCATION_MZONE
263e2172f9 2023-07-11  224:     cache_1 = cache_1 + LOCATION_SZONE
263e2172f9 2023-07-11  225:     cache_1 = cache_1 + LOCATION_GRAVE
263e2172f9 2023-07-11  226:     cache_1 = cache_1 + LOCATION_REMOVED
51cfc2c559 2023-07-11  227:     
51cfc2c559 2023-07-11  228:     cache_1 = Duel.GetFieldGroupCount(1,cache_1,0)
51cfc2c559 2023-07-11  229:     
51cfc2c559 2023-07-11  230:     if cache_1 == 0 then
51cfc2c559 2023-07-11  231:       return true
51cfc2c559 2023-07-11  232:     else
51cfc2c559 2023-07-11  233:       return false
51cfc2c559 2023-07-11  234:       end
51cfc2c559 2023-07-11  235:     end
94a1cf8101 2023-07-11  236:     
94a1cf8101 2023-07-11  237:   effect_1:SetCondition(cache_1)
94a1cf8101 2023-07-11  238:   
2e21f15623 2023-07-11  239:   cache_1 = function
21800d0772 2023-07-11  240:     Debug.ShowHint("目标已达成!")
21800d0772 2023-07-11  241:     Duel.SetLP(1,0)
2e21f15623 2023-07-11  242:     end
2e21f15623 2023-07-11  243:   
21800d0772 2023-07-11  244:   effect_1:SetOperation(cache_1)
a7e2397f50 2023-07-11  245:   
a7e2397f50 2023-07-11  246:   Duel.RegisterEffect(effect_1,0)
84f106ff09 2023-07-09  247:   end